Redis安装

Linux下安装Redis命令:
$sudo apt-get update
$sudo apt-get install redis-server

启动 Redis
$redis-server
或者service redis start

查看端口进程:
netstat -tulnp
例如:ps aux|grep redis

停止Redis服务命令:
/etc/init.d/redis-server stop
重启Redis服务命令:
/etc/init.d/redis-server start

查看 redis 是否启动?
$redis-cli

一、redis常用操作命令

1.添加 :set key value

2.删除 : del key

3.设置过期时间: expire key timeout(单位为秒)

也可以在设置值得时候,一同指定过期时间 :
set key value EX timeout 或 setex key timeout value

4.查看过期时间 : ttl key 如:ttl username

5.查看redis中所有的key : keys *

6.列表操作
在列表左边添加元素:lpush key value
在列表右边添加元素:rpush key value

查看列表中的元素: lrange key start stop
表示返回列表key中指定的区间内元素,区间[0,-1]表示返回全部

移除列表中的元素:
移除并返回列表key的头部元素:lpop key
移除并返回列表key的尾部元素:rpop key
移除并返回列表key的中间元素:lrem key count value

指定返回下标元素:lindex key index
获取列表中的元素个数 :llen key
删除指定的元素 : lrem key count value

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

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

Redis 客户端的基本语法为:
$ redis-cli

如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令:

$ redis-cli -h host -p port -a password

以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上:

$redis-cli -h 127.0.0.1 -p 6379 -a “mypass”
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING

二、Redis数据备份与恢复

1.数据备份
Redis SAVE 命令用于创建当前数据库的备份:
redis 127.0.0.1:6379> SAVE
该命令将在 redis 安装目录中创建dump.rdb文件

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

2.恢复数据
如果需要恢复数据,只需将备份文件 (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

三、Redis安全

通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,
这样可以让你的 redis 服务更安全。
通过以下命令查看是否设置了密码验证:
127.0.0.1:6379> CONFIG get requirepass

  1. “requirepass”
  2. “”
    默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务

可以通过以下命令来修改该参数设置密码:
127.0.0.1:6379> CONFIG set requirepass “password123456”
127.0.0.1:6379> CONFIG get requirepass

  1. “requirepass”
  2. “password123456”
    设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令

四、Redis性能测试

redis 性能测试的基本命令如下:

redis-benchmark [option] [option value]

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

命令:redis-benchmark -n 100000

1.Redis 发布订阅命令
下表列出了 redis 发布订阅常用命令:

1 PSUBSCRIBE pattern [pattern …] 订阅一个或多个符合给定模式的频道。
2 PUBSUB subcommand [argument [argument …]] 查看订阅与发布系统状态。
3 PUBLISH channel message 将信息发送到指定的频道。
4 PUNSUBSCRIBE [pattern [pattern …]] 退订所有给定模式的频道。
5 SUBSCRIBE channel [channel …] 订阅给定的一个或多个频道的信息。
6 UNSUBSCRIBE [channel [channel …]] 指退订给定的频道。

2.Redis客户端命令:
命令 描述
1 CLIENT LIST 返回连接到 redis 服务的客户端列表
2 CLIENT SETNAME 设置当前连接的名称
3 CLIENT GETNAME 获取通过 CLIENT SETNAME 命令设置的服务名称
4 CLIENT PAUSE 挂起客户端连接,指定挂起的时间以毫秒计
5 CLIENT KILL 关闭客户端连接

五、Redis 管道技术

Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

查看 redis 管道,只需要启动 redis 实例并输入以下命令:
$(echo -en “PING\r\n SET w3ckey redis\r\nGET w3ckey\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n”; sleep 10) | nc localhost 6379

六、Redis 事务命令
下表列出了 redis 事务的相关命令:
序号 命令 描述
1 DISCARD 取消事务,放弃执行事务块内的所有命令。
2 EXEC 执行所有事务块内的命令。
3 MULTI 标记一个事务块的开始。
4 UNWATCH 取消 WATCH 命令对所有 key 的监视。
5 WATCH key [key …] 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

Redis 连接命令
下表列出了 redis 连接的基本命令:
序号 命令及描述
1 AUTH password 验证密码是否正确
2 ECHO message 打印字符串
3 PING 查看服务是否运行
4 QUIT 关闭当前连接
5 SELECT index 切换到指定的数据库

七、Redis 服务器命令

主要是用于管理 redis 服务,获取 redis 服务器的统计信息:

redis 127.0.0.1:6379> INFO

redis 服务器的相关命令:

序号                             命令及描述
1    BGREWRITEAOF         异步执行一个 AOF(AppendOnly File) 文件重写操作
2    BGSAVE                 在后台异步保存当前数据库的数据到磁盘
3    CLIENT KILL [ip:port] [ID client-id] 关闭客户端连接
4    CLIENT LIST         获取连接到服务器的客户端连接列表
5    CLIENT GETNAME         获取连接的名称
6    CLIENT PAUSE timeout 在指定时间内终止运行来自客户端的命令
7    CLIENT SETNAME connection-name 设置当前连接的名称
8    CLUSTER SLOTS         获取集群节点的映射数组
9    COMMAND             获取 Redis 命令详情数组
10    COMMAND COUNT         获取 Redis 命令总数
11    COMMAND GETKEYS     获取给定命令的所有键
12    TIME                 返回当前服务器时间
13    COMMAND INFO command-name [command-name ...] 获取指定 Redis 命令描述的数组
14    CONFIG GET parameter 获取指定配置参数的值
15    CONFIG REWRITE         对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
16    CONFIG SET parameter value 修改 redis 配置参数,无需重启
17    CONFIG RESETSTAT     重置 INFO 命令中的某些统计数据
18    DBSIZE                 返回当前数据库的 key 的数量
19    DEBUG OBJECT key     获取 key 的调试信息
20    DEBUG SEGFAULT         让 Redis 服务崩溃
21    FLUSHALL             删除所有数据库的所有key
22    FLUSHDB             删除当前数据库的所有key
23    INFO [section]         获取 Redis 服务器的各种信息和统计数值
24    LASTSAVE             返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
25    MONITOR             实时打印出 Redis 服务器接收到的命令,调试用
26    ROLE                 返回主从实例所属的角色
27    SAVE                 异步保存数据到硬盘
28    SHUTDOWN [NOSAVE] [SAVE] 异步保存数据到硬盘,并关闭服务器
29    SLAVEOF host port     将当前服务器转变为指定服务器的从属服务器(slave server)
30    SLOWLOG subcommand [argument] 管理 redis 的慢日志
31    SYNC                 用于复制功能(replication)的内部命令