NOSQL下的Redis和MongoDB的安装和配置

  • Post author:
  • Post category:其他


安装MongoDB

下载MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包下载地址:

http://www.mongodb.org/downloads


安装

下载完成后,在你安装的目录下解压zip包。

创建数据库目录

MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

以下实例中我们将data目录创建于根目录下(/)。

注意:/data/db 是 MongoDB 默认的启动的数据库路径(–dbpath)。

mkdir -p /data/db

命令行中运行 MongoDB 服务

你可以再命令行中执行mongo安装目录中的bin目录执行mongod命令来启动mongdb服务。

注意:如果你的数据库目录不是/data/db,可以通过 –dbpath 来指定。

$ ./mongod2015-09-25T16:39:50.549+0800 I JOURNAL [initandlisten] journal dir=/data/db/journal2015-09-25T16:39:50.550+0800 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed2015-09-25T16:39:50.869+0800 I JOURNAL [initandlisten] preallocateIsFaster=true 3.162015-09-25T16:39:51.206+0800 I JOURNAL [initandlisten] preallocateIsFaster=true 3.522015-09-25T16:39:52.775+0800 I JOURNAL [initandlisten] preallocateIsFaster=true 7.7

MongoDB后台管理 Shell

如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo命令文件。

MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。

当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):

$ cd /usr/local/mongodb/bin

$ ./mongoMongoDB shell version: 3.0.6

connecting to: testWelcome to the MongoDB shell.……

由于它是一个JavaScript shell,您可以运行一些简单的算术运算:

2+24> 3+69

现在让我们插入一些简单的数据,并对插入的数据进行检索:

db.W3Cschool.insert({x:10})WriteResult({ “nInserted” : 1 })> db.W3Cschool.find(){ “_id” : ObjectId(“5604ff74a274a611b0c990aa”), “x” : 10 }>

第一个命令是将数据 8 插入到w3r集合(表)的 z 字段中。

MongoDb web 用户界面

MongoDB 提供了简单的 HTTP 用户界面。 如果你想启用该功能,需要在启动的时候指定参数 –rest 。

$ ./mongod –dbpath=/data/db –rest

MongoDB 的 Web 界面访问端口比服务的端口多1000。

如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面,即地址为:

http://localhost:28017

MongoDB 创建数据库

语法MongoDB 创建数据库的语法格式如下:

use DATABASE_NAME

如果数据库不存在,则创建数据库,否则切换到指定数据库。

以下实例我们创建了数据库 youj:

use youj

switched to db youj

db

youj

如果你想查看所有数据库,可以使用 show dbs 命令:

show dbs

local 0.078GB

test 0.078GB

可以看到,我们刚创建的数据库 youj 并不在数据库的列表中, 要显示它,我们需要向 youj 数据库插入一些数据。

db.youj.insert({“name”:“pan”})

WriteResult({ “nInserted” : 1 })

show dbs

local 0.078GB

youj 0.078GB

test 0.078GB

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

插入文档

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document)

实例

以下文档可以存储在 MongoDB 的 pan数据库 的 col集合中:

db.col.insert({title: ‘MongoDB 教程’,

description: ‘MongoDB 是一个 Nosql 数据库’,

by: ‘w3cschool’,

url: ‘

http://www.baidu.com

’,

tags: [‘mongodb’, ‘database’, ‘NoSQL’],

likes: 100})

以上实例中 col 是我们的集合名,前一章节我们已经创建过了,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。

查看已插入文档:

db.col.find(){ “_id” : ObjectId(“56064886ade2f21f36b03134”), “title” : “MongoDB 教程”, “description” : “MongoDB 是一个 Nosql 数据库”, “by” : “w3cschool”, “url” : “

http://www.baidu.com

”, “tags” : [ “mongodb”, “database”, “NoSQL” ], “likes” : 100 }>

我们也可以将数据定义为一个变量,如下所示:

document=({title: ‘MongoDB 教程’,

description: ‘MongoDB 是一个 Nosql 数据库’,

by: ‘w3cschool’,

url: ‘

http://www.baidu.com

’,

tags: [‘mongodb’, ‘database’, ‘NoSQL’],

likes: 100});

执行后显示结果如下:

{


“title” : “MongoDB 教程”,

“description” : “MongoDB 是一个 Nosql 数据库”,

“by” : “w3cschool”,

“url” : “

http://www.baidu.com

”,

“tags” : [

“mongodb”,

“database”,

“NoSQL”

],

“likes” : 100}

执行插入操作:

db.col.insert(document)WriteResult({ “nInserted” : 1 })>

插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

Redis 安装

下载地址:

http://redis.io/download,下载最新文档版本。


本教程使用的最新文档版本为 2.8.17,下载并安装:

$ wget

http://download.redis.io/releases/redis-2.8.17.tar.gz


$ tar xzf redis-2.8.17.tar.gz

$ cd redis-2.8.17

$ make

make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli

下面启动redis服务.

$ ./redis-server

注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。

$ ./redis-server redis.conf

redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

$ ./redis-cli

redis> set foo bar

OK

redis> get foo

“bar”

在 Ubuntu 系统安装 Redi 可以使用以下命令:

$sudo apt-get update

$sudo apt-get install redis-server

启动 Redis

$redis-server

查看 redis 是否启动?

$redis-cli

以上命令将打开以下终端:

redis 127.0.0.1:6379>

127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

redis 127.0.0.1:6379> ping

PONG

以上说明我们已经成功安装了redis。

Redis 配置

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。

你可以通过 CONFIG 命令查看或设置配置项。

语法

Redis CONFIG 命令格式如下:

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

实例

redis 127.0.0.1:6379> CONFIG GET loglevel

  1. “loglevel”2) “notice”

    使用 * 号获取所有配置项:

    实例

    redis 127.0.0.1:6379> CONFIG GET *

  2. “dbfilename”

  3. “dump.rdb”

  4. “requirepass”

  5. “”

  6. “masterauth”

  7. “”

  8. “unixsocket”

  9. “”

  10. “logfile”

  11. “”

  12. “pidfile”

  13. “/var/run/redis.pid”

  14. “maxmemory”

  15. “0”

  16. “maxmemory-samples”

  17. “3”

  18. “timeout”

  19. “0”

  20. “tcp-keepalive”

  21. “0”

  22. “auto-aof-rewrite-percentage”

  23. “100”

  24. “auto-aof-rewrite-min-size”

  25. “67108864”

  26. “hash-max-ziplist-entries”

  27. “512”

  28. “hash-max-ziplist-value”

  29. “64”

  30. “list-max-ziplist-entries”

  31. “512”

  32. “list-max-ziplist-value”

  33. “64”

  34. “set-max-intset-entries”

  35. “512”

  36. “zset-max-ziplist-entries”

  37. “128”

  38. “zset-max-ziplist-value”

  39. “64”

  40. “hll-sparse-max-bytes”

  41. “3000”

  42. “lua-time-limit”

  43. “5000”

  44. “slowlog-log-slower-than”

  45. “10000”

  46. “latency-monitor-threshold”

  47. “0”

  48. “slowlog-max-len”

  49. “128”

  50. “port”

  51. “6379”

  52. “tcp-backlog”

  53. “511”

  54. “databases”

  55. “16”

  56. “repl-ping-slave-period”

  57. “10”

  58. “repl-timeout”

  59. “60”

  60. “repl-backlog-size”

  61. “1048576”

  62. “repl-backlog-ttl”

  63. “3600”

  64. “maxclients”

  65. “4064”

  66. “watchdog-period”

  67. “0”

  68. “slave-priority”

  69. “100”

  70. “min-slaves-to-write”

  71. “0”

  72. “min-slaves-max-lag”

  73. “10”

  74. “hz”

  75. “10”

  76. “no-appendfsync-on-rewrite”

  77. “no”

  78. “slave-serve-stale-data”

  79. “yes”

  80. “slave-read-only”

  81. “yes”

  82. “stop-writes-on-bgsave-error”

  83. “yes”

  84. “daemonize”

  85. “no”

  86. “rdbcompression”

  87. “yes”

  88. “rdbchecksum”

  89. “yes”

  90. “activerehashing”

  91. “yes”

  92. “repl-disable-tcp-nodelay”

  93. “no”

  94. “aof-rewrite-incremental-fsync”

  95. “yes”

  96. “appendonly”

  97. “no”

  98. “dir”

  99. “/home/deepak/Downloads/redis-2.8.13/src”

  100. “maxmemory-policy”100) “volatile-lru”101) “appendfsync”102) “everysec”103) “save”104) “3600 1 300 100 60 10000″105) “loglevel”106) “notice”107) “client-output-buffer-limit”108) “normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60″109) “unixsocketperm”110) “0”111) “slaveof”112) “”113) “notify-keyspace-events”114) “”115) “bind”116) “”

编辑配置

你可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。

语法

CONFIG SET 命令基本语法:

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

实例

redis 127.0.0.1:6379> CONFIG SET loglevel “notice”

OK

redis 127.0.0.1:6379> CONFIG GET loglevel

  1. “loglevel”2) “notice”



版权声明:本文为weixin_37882697原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。