1 Redis 数据备份与恢复

Redis SAVE 命令用于创建当前数据库的备份。

该命令将在 redis 安装目录中创建dump.rdb文件。

如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:

redis 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/usr/local/redis/bin"

 

以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。

 

Bgsave

创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。

 

2 Redis 安全

我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。

127.0.0.1:6379> CONFIG get requirepass 1) "requirepass" 2) ""

 

修改参数:

127.0.0.1:6379> CONFIG set requirepass "runoob" OK 127.0.0.1:6379> CONFIG get requirepass 1) "requirepass" 2) "runoob"

验证密码:

AUTH password

 

3 Redis 性能测试

例子:

以下实例同时执行 10000 个请求来检测性能:

redis-benchmark -n 10000 -q

序号

选项

描述

默认值

1

-h

指定服务器主机名

127.0.0.1

2

-p

指定服务器端口

6379

3

-s

指定服务器 socket

 

4

-c

指定并发连接数

50

5

-n

指定请求数

10000

6

-d

以字节的形式指定 SET/GET 值的数据大小

2

7

-k

1=keep alive 0=reconnect

1

8

-r

SET/GET/INCR 使用随机 key, SADD 使用随机值

 

9

-P

通过管道传输 <numreq> 请求

1

10

-q

强制退出 redis。仅显示 query/sec 值

 

11

--csv

以 CSV 格式输出

 

12

-l

生成循环,永久执行测试

 

13

-t

仅运行以逗号分隔的测试命令列表。

 

14

-I

Idle 模式。仅打开 N 个 idle 连接并等待。

 

 

以下实例我们使用了多个参数来测试 redis 性能:

redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

结果;

SET: 146198.83 requests per second LPUSH: 145560.41 requests per second

解释:

以上实例中主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数。

 

4 Redis 客户端连接

Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:

  • 首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。
  • 然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法
  • 然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送

 

在 Redis2.4 中,最大连接数是被直接硬编码在代码里面的,而在2.6版本中这个值变成可配置的。

maxclients 的默认值是 10000,你也可以在 redis.conf 中对这个值进行修改。

config get maxclients 1) "maxclients" 2) "10000"

以下实例我们在服务启动时设置最大连接数为 100000:

redis-server --maxclients 100000 #在启动redis-serve时, 设置最大连接数.

 

客户端命令:

S.N.

命令

描述

1

CLIENT LIST

返回连接到 redis 服务的客户端列表

2

CLIENT SETNAME

设置当前连接的名称

3

CLIENT GETNAME

获取通过 CLIENT SETNAME 命令设置的服务名称

4

CLIENT PAUSE

挂起客户端连接,指定挂起的时间以毫秒计

5

CLIENT KILL

关闭客户端连接

 

5 Java 使用 Redis

使用jedis操作redis.

更多redis学习信息:

http://www.runoob.com/redis/redis-pub-sub.html