## 字符串类型 设置值语法: redis> set key value [ex seconds] [px milliseconds] [nx| xx] 命令选项说明: EX seconds : 将键的过期时间设置为 seconds 秒。 执行 SET key value EX seconds 的效果等同于执行 SETEX key seconds value 。 PX milliseconds : 将键的过期时间设置为 milliseconds 毫秒。 执行 SET key value PX milliseconds 的效果等同于执行 PSETEX key milliseconds value 。 NX : 只在键不存在时, 才对键进行设置操作,用户添加。 执行 SET key value NX 的效果等同于执行 SETNX key value 。 XX : 只在键已经存在时, 才对键进行设置操作,用于更新。 另外,还有setex和setnx两个命令,作用和ex和nx是一样的。 redis> setex key seconds value redis> setnx key value # 获取值 redis> get key 如果要获取的键不存在,则返回(nil) # 批量设置值 redis> mset key value [key value ...] # 批量获取值 redis> mget key [key ...] # incr自增计数 语法: redis> INCR key 为键 key 储存的数字值加上一。 如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。 如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。 数字值在 Redis 中以字符串的形式保存。 范例: redis> SET page_view 20 OK redis> INCR page_view (integer) 21 redis> GET page_view "21" # 追加值 redis> APPEND key value 如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。 如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。 对不存在的 key 执行 APPEND : redis> EXISTS myphone (integer) 0 redis> APPEND myphone "nokia" (integer) 5 对已存在的字符串进行 APPEND : redis> APPEND myphone " - 1110" (integer) 12 redis> GET myphone "nokia - 1110" # 字符串值的长度 redis> STRLEN key ## 哈希类型 # 设置值 redis> hset key field value # 获取值 redis> hget key field # 删除 field redis> hdel key field [field ...] # 计算field个数 redis> hlen key # 批量设置或获取field-value redis> hmset key field value [field value ...] redis> hmget key field [field ...] # 判断field是否存在 redis> hexists key field # 获取所有field redis> hkyes key # 获取所有value redis> hvals key # 获取所有field-value redis> hgetall key # 计算value的字符串长度 redis> hstrlen key field ## 列表类型 # 从右边插入元素 redis> rpush key value [value ...] # 从坐边插入元素 redis> lpush key value [value ...] # 向某个元素前或者后插入元素 redis> linsert key before|after pivot value # 获取指定范围内的元素列表 redis> lrange key start end # 获取列表指定索引下标的元素 redis> lindex key index # 获取列表长度 redis> llen key # 从列表左侧弹出删除元素 redis> lpop key # 从列表右侧弹出删除元素 redis> rpop key # 删除指定元素 redis> lrem key count value # 按照索引范围修剪列表 redis> ltrim key start end # 修改 redis> lset key index new_value ## 集合类型 # 添加元素 redis> sadd key element [element ...] # 删除元素 redis> srem key element [element ...] # 计算元素个数 redis> scard key # 判断元素是否在集合中 redis> sismember key element # 随机从集合返回指定个数元素 redis> srandmember key [count] # 随机从集合弹出元素 redis> spop key # 获取所有元素 redis> smembers key # 求多个集合的交集 redis> sinter key [key ...] # 求多个集合的并集 redis> sunion key [key ...] # 求多个集合的差集 redis> sdiff key [key ...] ## 有序集合类型 # 添加成员 redis> zadd key score member [score member ...] # 计算元素个数 redis> zcard key # 计算某个成员的分数 redis> zscore key member # 计算成员的排名 redis> zrank key member # 删除成员 redis> zrem key member [member ...] # 增加成员的分数 redis> zincrby key member # 返回指定排名范围的成员 从低到高 redis> zrange key start end [withscores] 从高到低 redis> zrevrange key start end [withscores] # 返回指定分数范围的成员 从低到高 redis> zrangebyscore key min max [limit offset count] 从高到低 redis> zrevrangebyscore key max min [limit offset count] # 删除指定排名内的升序元素 redis> zremrangebyrank key start end # 删除指定分数范围的成员 redis> zremrangebyscore key min max