Redis

  • keys命令
1
2
3
4
DEL key             该命令用于在key存在时删除key。
EXISTS key 检查给定key是否存在。
RENAME key newkey 修改key的名称。
TYPE key 返回key所储存的值的类型。
  • 字符串(String)
1
2
3
4
5
6
7
8
9
10
SET key value      设置指定key的值。
GET key 获取指定key的值。
GETSET key value 将给定key的值设为value,并返回key的旧值(old value)。
MGET key1 [key2..] 获取所有(一个或多个)给定key的值。
MSET key value [key value ...] 同时设置一个或多个key-value对。
INCR key 将key中储存的数字值增一。
INCRBY key increment 将key所储存的值加上给定的增量值(increment)。
DECR key 将key中储存的数字值减一。
DECRBY key decrement 将key所储存的值减去给定的减量值(decrement)。
APPEND key value 如果key已经存在并且是一个字符串,APPEND命令将指定的value追加到该key原来值(value)的末尾。
  • 哈希(Hash)
1
2
3
4
5
6
7
8
HEXISTS key field        查看哈希表key中,指定的字段是否存在。
HSET key field value 将哈希表key中的字段field的值设为value。
HMSET key field1 value1 [field2 value2 ] 同时将多个field-value(域-值)对设置到哈希表key中。
HGET key field 获取存储在哈希表中指定字段的值。
HGETALL key 获取在哈希表中指定key的所有字段和值。
HDEL key field1 [field2] 删除一个或多个哈希表字段。
HLEN key 获取哈希表中字段的数量。
HVALS key 获取哈希表中所有值。
  • 列表(List)
1
2
3
4
5
6
7
8
9
10
LPUSH key value1 [value2]    将一个或多个值插入到列表头部。
LPUSHX key value 将一个值插入到已存在的列表头部。
RPUSH key value1 [value2] 在列表中添加一个或多个值。
RPUSHX key value 为已存在的列表添加值。
LRANGE key start stop 获取列表指定范围内的元素。
LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插入元素。
LLEN key 获取列表长度。
LPOP key 移出并获取列表的第一个元素。
RPOP key 移除列表的最后一个元素,返回值为移除的元素。
LREM key count value 移除列表元素(count为数量)。
  • 集合(Set)
1
2
3
4
5
6
7
8
9
10
11
12
13
集合成员是唯一的,这就意味着集合中不能出现重复的数据。

SADD key member1 [member2] 向集合添加一个或多个成员。
SCARD key 获取集合的成员数。
SMEMBERS key 返回集合中的所有成员。
SDIFF key1 [key2] 返回给定key1集合里其它集合没有的成员。
SDIFFSTORE destination key1 [key2] 返回给定key1集合里其它集合没有的成员并存储在destination中。
SINTER key1 [key2] 返回给定所有集合的交集。
SINTERSTORE destination key1 [key2] 返回给定所有集合的交集并存储在destination中。
SUNION key1 [key2] 返回所有给定集合的并集。
SUNIONSTORE destination key1 [key2] 返回所有给定集合的并集存储在destination集合中。
SISMEMBER key member 判断member元素是否是集合key的成员
SREM key member1 [member2] 移除集合中一个或多个成员。
  • 有序集合(sorted set)
1
2
3
4
5
6
7
8
9
ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数(序号)。
ZCARD key 获取有序集合的成员数。
ZCOUNT key min max 计算在有序集合中指定区间分数的成员数。
ZINTERSTORE destination numkeys key [key ...] 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合key中(numkeys为有序集的个数)。
ZRANK key member 返回有序集合中指定成员的索引。
ZREM key member [member ...] 移除有序集合中的一个或多个成员。
ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员。
下标参数start和stop都以0为底,也就是说,以0表示有序集第一个成员,以1表示有序集第二个成员,以此类推。
你也可以使用负数下标,以-1表示最后一个成员,-2表示倒数第二个成员,以此类推。
  • 发布订阅
1
2
3
SUBSCRIBE redisChat
重新开启个redis客户端,然后在同一个频道redisChat发布两次消息,订阅者就能接收到消息。
PUBLISH redisChat "Redis is a great caching technique"
  • 事务

一个事务从开始到执行会经历以下三个阶段:开始事务、命令入队、执行事务。

1
2
3
4
5
6
7
8
9
10
11
12
13
MULTI         标记一个事务块的开始。
DISCARD 取消事务,放弃执行事务块内的所有命令。
EXEC 执行所有事务块内的命令。
UNWATCH 取消WATCH命令对所有key的监视。
WATCH key [key ...] 监视一个(或多个) key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断。

multi

set a aaa
set b bbb
set c ccc

exec
  • 连接命令
1
2
3
4
5
AUTH password    验证密码是否正确
ECHO message 打印字符串
PING 查看服务是否运行
QUIT 关闭当前连接
SELECT index 切换到指定的数据库
  • 备份与恢复
1
2
3
4
5
6
7
8
9
10
redis 127.0.0.1:6379> SAVE
该命令将在redis安装目录中创建dump.rdb文件。

将备份文件(dump.rdb)移动到redis安装目录并启动服务
CONFIG GET dir
"dir"
"/usr/local/redis/bin"

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