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

命令 |
用法 |
语法 |
返回值 |
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 |
值列表 |