Redis的数据类型

Redis中数据是key-value形式,key为字符串类型,value可取类型:

  • String 字符串
  • Hash 哈希表
  • List 列表
  • Set 集合
  • Sorted Set 有序集合

Key操作

命令 用法 语法 返回值
exists 判断key是否存在 exists key [名称] 存在返回数字,不存在返回0
expire 设置key的过期时间,单位秒 expire key [秒数] 成功返回1,失败返回0
ttl 查看key的剩余过期时间 ttl [key] 返回剩余时间,如果过期返回-1
del 根据key删除键值对 del [key] 被删除key的数量

String操作

命令 用法 语法 返回值
set 设置指定key的值 set [key] [value] 成功OK
get 获取指定key的值 get [key] key的值。不存在返回nil
setnx 当且仅当key不存在时才新增 setnx [key] [value] 不存在时返回1,存在返回0
setex 设置key值并同时设置过期时间 setex [key] [seconds] [value] 成功OK

Hash操作

Hash类型的值中包含多组field和value
1q23e12ej132123jk1312

命令 用法 语法 返回值
hset 给key中field设置值 hset [key] [field] [value] 成功1,失败0
hget 获取key中某个field的值 hget [key] [field] 返回field的内容
hmset 给key中多个filed设置值 hmset [key] [field] [value] [field] [value] 成功OK
hmget 一次获取key中多个field的值 hmget [key] [field] [field] value列表
hvals 获取key中所有field的值 hvals [key] value列表
hgetall 获取所有field和value hgetall [key] field和value交替显示列表
hdel 删除key中任意个field hdel [key] [field] [field] 成功删除field的数量

List操作

命令 用法 语法 返回值
rpush 向列表末尾中插入一个或多个值 rpush [key] [value] [value] 列表长度
lrange 返回列表中指定区间内的值,-1代表末尾 lrange list [0] [-1] 查询到的值
lpush 将一个或多个值插入到列表前面 lpush [key] [value] [value] 列表长度
llen 获取列表长度 llen [key] 列表长度
lrem 删除列表中元素 lrem [key] [count] [value] 删除数量

lrem 说明
count>0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count<0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count=0 : 移除表中所有与 value 相等的值。

Set操作

命令 用法 语法 返回值
sadd 向集合中添加内容,不允许重复 sadd [key] [value] [value] [value] 集合长度
scard 返回集合元素数量 scard [key] 集合长度
smembers 查看集合中元素内容 smembers [key] 集合中元素

Sorted Set操作

有序集合中每个value都有一个分数(score),根据分数进行排序。

命令 用法 语法 返回值
zadd 向有序集合中添加数据 zadd [key] [score] [value] [score] [value] 集合长度
zrange 返回区间内容,withscores表示带有分数 zrange [key] [start] [stop] withscores 值列表