Redis的五种数据类型
string | 字符串(可以为整形、浮点型和字符串,统称为元素) |
list | 列表(实现队列,元素不唯一,先入先出原则) |
set | 集合(各不相同的元素) |
hash | 散列值(hash的key必须是唯一的) |
sort set | 有序集合 |
key操作
keys * | 查看当前库的所有key |
exists key | 判断某个key是否存在 |
type key | 查看你的key是什么类型的 |
del key | 删除指定的key数据 |
unlink key | 根据value选择非堵塞删除 |
expire key 10 | 10秒钟:为给定的key设置过期时间 |
ttl key | 查看还要多少秒过期,-1表示永不过期,-2表示已过期 |
flushdb | 清空当前库 |
flushall | 清空所有库 |
String操作
常用命令
命令 | 作用 | 语法 | 返回值 |
set | 向Redis中存储value,存在的话则覆盖 | set key value | OK |
get | 根据key获取value | get key | OK |
append | 向key中追加value | append key value | value的长度 |
strlen | 根据key获取value的长度 | strlen key | value的长度 |
setnx | 和set差不多,只有当key不存在时,才可以存储 | setnx key value | 成功:1 错误:0 |
incr incrby | 在原来value的基础上加一,只能是数字,不存在则新建。 在原来value的基础上加N | incr key incrby key N | 成功:结果value 错误:ERROR |
decr decrby | 和incr相反减一 和incrby相反减N | decr key decrby key N | 成功:结果value 错误:ERROR |
命令 | 作用 | 语法 | 返回值 |
mset | 连续设置多个value | mset key1 value1 key2 value2 key3 value3..... | 成功:OK |
mget | 一次性获取多个value | mget 建1 建2 建3 ..... | |
msetnx | 同理 | ||
getrange | 根据key截取value | getrange key start end | 截取的结果 |
setrange | 向指定的位置插入value | setrange key index value | 返回长度 |
setex | 创建一个临时的数据(使用 ttl key 查看剩余时间) | setex key 剩余时间 value | OK |
getset | 使用新value替换旧的value | getset key value | 旧value |
List操作
命令 | 作用 | 语法 | 返回值 |
lpush | 向左边存放数据 | lpush key value1 value2 value3 ..... | 成功:插入数量 |
rpush | 向右边存放数据 | rpush key value1 value2 ....... | 成功:插入数量 |
lpop | 获取最左边的value,并将其删除 | lpop key | 最左边的value |
rpop | 获取最右边的value,并将其删除 | rpop key | 最右边的value |
lrange | 获取下标范围的value(0 -1显示所有) | lrange key startLndex endLindex | 下标范围的value |
lindex | 获取下标对应的value(从左到右) | lindex key index | 下标对应的value |
llen | 获取列表的长度 | lllen key | 列表的长度 |
linsert | 在某个value之前插入新value | linsert key before "旧value" "新value" | 列表的长度 |
lrem | 删除N个相同的value,从左边开始删除 | lrem key N value | 删除的数量 |
lset | 把下标的value替换为新的value | lset key index newValue | 成功:OK |
Set操作
命令 | 作用 | 语法 | 返回值 |
sadd | 将一个或多个值添加到集合当中 | sadd key value1 value2 .... | 新增的数量 |
smembers | 显示key的所有value | smembers key | 显示key的所有value |
sismember | 判断key中是否包含value | sismember key value | 包含:1,不包含:0 |
scard | 根据key获取value的数量 | scard key | value的数量 |
srem | 删除key中的value | srem key value value ...... | 删除的数量 |
spop | 从集合中随机获取一个value,并将其删除 | spop key | 随机的value |
srandmember | 从集合中随机获取N个value(不会将其删除) | srandmember key N | 随机的value |
smove | 将集合A中的value移动到集合B中(不能同时移动多个) | smove keyA keyB valueA | 成功:1 |
sinter | 获取两个集合之间相同value | sinter keyA keyB | 两个集合之间相同的value |
sunion | 获取两个集合之间所有的value(去重复) | sunion keyA keyB | 两个集合之间所有value |
sdiff | 获取两个集合之间的不同的value | sdiff keyA keyB | 两个集合之间不同的value |
Hash操作
命令 | 作用 | 语法 | 返回值 |
hset | 向集合中存放对象 | hset Object key value | 成功:1 |
hget | 获取集合中的数据 | hget Object key | 结果值 |
hmset | 向集合中存放对象并同时设置多个key value | hmset Object keyA valueA keyB valueB | 成功:OK |
hkeys | 获取对象中所有key | hkeys Object | 对象中所有keys |
hvals | 获取对象中的所有value值 | hvals Object | 对象中所有value值 |
hexists | 判断对象中某个key是否存在 | hexists Object key | 存在:1,不存在:0 |
hincrby | 对对象中的value进行(+/-)N操作 | hincrby Object key N | 结果值 |
hsetnx | 对象或者对象中key不存在则新建 | hsetnx Object key value | 成功:1,存在:0 |
SortSet操作
命令 | 作用 | 语法 | 返回值 |
zadd | 将一个或多个成员元素及其分数值加入到有序集当中 | zadd key scoreA valueA ..... | 新增的数量 |
zrange | 返回start 到 end 下标之间的值,0 -1返回所有,withscores(可选),同时显示分数 | zrange key startIndex endIndex [withscores] | 下标范围之间的值,withscores同时显示分数 |
zrangebyscore | 返回分数之间的值,withscores(可选),同时显示分数 | zrangebyscore key minScore maxScore [withscores] | 分数范围之间的值,withscores同时显示分数 |
zrevrangebyscore | 多少到多少分数之间做排序操作,withscores(可选),同时显示分数 | zrevrangebyscore key maxScore minScore [withscores] | 排序的值, withscores同时显示分数 |
zincrby | 对分数进行添加N | zincrby key N value | 结果值 |
zrem | 删除一个value | zrem key value | 删除数量 |
zcount | 显示分数范围之间的数量 | zcount key minScore maxScore | 分数范围之间的数量 |
zrank | 显示value的下标 | zrank key value | value的下标 |
Redis命令详细介绍↓↓↓