美文网首页
redis常用命令

redis常用命令

作者: 裂开的汤圆 | 来源:发表于2020-05-22 16:02 被阅读0次

与key相关的命令

# 展示当前数据库中所有的键
keys *

# 判断某个key是否存在
exists key

# 根据key移动该数据到其他的数据库中
move key dbName

# 为给定的key设置过期时间,单位为秒
expire key 10

#  查看还有多少秒过期,-1表示永不过期,-2表示已过期(从内存中移除)
ttl key

# 查看key是什么类型
type key

String类相关命令

# 设置一个键值对
set key value
# 批量设置值
mset key1 value1 key2 value2 key3 value3

# 根据key获取value
get key
# 批量获取值
mget key1 key2 key3

# 删除Key
del key

# 如果key不存在,执行set操作,如果key存在,将value追加到key原来的值得末尾
append key value

# 加减运算只允许数字
# 将Key对应的value值+1
incr key
# 将key对应的value值+10
incrby key 10
# 将key对应的value值-1
decr key
# 将key对应的value值-10
decrby key 10

# 获取字符串中从第几位开始到第几位结束的值,例如现在有一个key: 0123456
getrange key 0 -1   
结果: 0123456
getrange key 0 1
结果:01
setrange key 0 xxx
结果:xxx3456

# 设置值,并添加过期时间(set with expire)
setex key second value
# 设置值,如果不存在(set if not exist)。如果该键值对已存在,不做任何修改
setnx key value

# 先get后set
getset key value

List类相关操作,list是一个链表结构,既可模拟队列结构,也可模拟栈结构

list结构可以用下图来表示


list结构
# 在链表头部(左边,left)依次添加值
lpush list 1 2 3 4 5 
# 查询结果(从左到右)
lrange list 0 -1
结果:5 4 3 2 1

# 在链表尾部(右边,right)依次添加值
rpush list 1 2 3 4 5
lrange list 0 -1
结果: 1 2 3 4 5

# 从链表头部取值,取值后会将该值从链表中删除(左边,left)
lpop list
# 从链表尾部取值,取值后会将该值从链表中删除(右边,right)
rpop list

# 按照索引下标获取元素
lindex list 0     // 获取list第0位的值

# 查询list长度
llen list

# 从左到右删除2个3
lrem list 2 3
# 从右到左删除2个3
rrem list 2 3

# 截取指定范围的值后再赋值给key
ltrim key start end
例如现在有一个list: 0 1 2 3 4 5
ltrim list 0 2
结果: list: 0 1 2 

# rpoplpush 源列表 目标列表 ,源列表尾部出栈,目标列表头部进栈
list1: 8 7 6 5 4
list2: 3 2 1
rpoplpush list1 list2

list1: 8 7 6 5
list2: 4 3 2 1

# 修改列表中索引位置的值
lset key index value

# 把java插入到x之前,查询顺序从头到尾
linsert list before x java
# 把java插入到x之后,查询顺序从头到尾
linsert list after x java

Set类别相关命令

# sadd,如果不存在该集合,创建id为set1的集合,如果已存在该集合,则在原集合上添加
sadd set1 1 2 3

# 显示set集合所有内容
smembers key

# 判断元素1是否存在于集合set1中
sismembers set1 1

# 获取集合set1中元素的个数
scard set1

# 删除集合set1中的1,如果元素1不存在,返回0
srem set1 1

# 返回集合set1中的1个随机元素
srandmember set1 1

# 随机取出集合set1中的一个值,并将其在集合中移除
spop set1

# 将集合set1中的元素1移动到集合set2中去
smove set1 set2 1

# 取交集,差集,并集
# 从set1集合中取出set2集合不包含的元素(差集)
sdiff set1 set2
# 取出set1与set2集合共同包含的元素(交集)
sinter set1 set2
# 取set1集合与set2集合的并集
sunion set1 set2

Hash类别(相当于JAVA中的HashMap<String, String>)相关命令

# 新增一个名为user1的Hash集合,集合里的内容为,id: 1, name:  haha, sex man
hset user1 id 1 name haha sex man

# 获取Hash集合user1中的id,一次只能获取一个属性
hget user1 id

# 获取Hash集合user1中的id和name,一次能获取多个属性
hmget user1 id name

# 获取Hash集合user1中的所有属性
hgetall user1

# 删除hash集合user1中的多个属性
hdel user1 id name

# 查询hash集合user1中属性的数量
hlen user1

# 判断hash集合user1中是否存在属性name,返回值为1或0
hexists user1 name

# 返回hash集合user1中的所有属性的key
hkeys user1
# 返回hash集合user1中的所有属性的value
hvals user1

# 为Hash集合user1中的id属性执行+2操作
hincrby user1  id 2
# 为为Hash集合user1中的id属性执行+0.5操作
hincrbyfloat user1 id 0.5

# 为hash集合user1设置属性age: 20,如果age属性不存在,返回值为1或0
hsetnx user1 age 20

Zset类相关命令,默认排序为按分数从小到大排序

# 新增一个zset集合,集合中保存了几个学生的成绩,学生1为60分,学生2为70分
zadd students 60 student1 70 student2 80 student3

# 返回zset集合students中,从0(第一位)到-1(最后一位)的所有学生,按分数从小到大排序
zrange students 0 -1
# 返回回zset集合students中,从0(第一位)到-1(最后一位)的所有学生,按分数从大到小排序
zrevrange students 0 -1

# 返回zset集合students中,成绩为70<= x <= 80分的学生
zrangebyscore students 70 80
返回:
1) students2
2) students3

# 分页返回zset集合students中,成绩为70<= x <= 80分的学生
zrangebyscore students 70 80 limit 0 10

# 返回zset集合students中,成绩为70<= x <80分的学生,
zrangebyscore students 70 (80

# 返回zset集合students中,成绩为70<= x <= 80分的学生以及他们的分数
zrangebyscore students 70 80 withscores
返回:
1) students2
2) 70
3) students3
4) 80

# 倒叙返回zset集合students中,成绩为70<= x <= 80分的学生,按分数从大到小排序
zrevrangebyscore students 70 80 

# 删除students集合中student3的记录,返回值为0或1
zrem students student3

# 返回students集合中元素的数量
zcard students

# 计算students集合中,60分到70之间的学生数量
zcount students 60 70

# 返回students集合中student1的排名,集合按分数从小到大排序。(排名第一位,返回值为0)
zrank students student1
# 返回students集合中student1的排名,集合按分数从大到小排序。
zrevrank students student1

# 获取students集合中,student1的分数
zscore students student1

相关文章

  • docker安装mongodb和redis数据库

    mongodb安装 mongodb常用命令 redis安装 redis常用命令

  • redis汇总

    redis优化 redis 操作相关 安装Redis redis常用命令

  • Redis-数据结构&常用指令

    零、本文纲要 一、Redis数据结构二、Redis常用命令三、String类型&常用命令四、Hash类型&常用命令...

  • Redis 命令

    redis常用命令

  • Redis入门

    redis杂项知识 key的常用命令 List常用命令

  • Docker-redis安装设置

    常用命令 参数说明 /data存储redis数据 查看redis版本号 redis参数匹配 Redis默认不是以守...

  • redis

    redis 1.redis几种数据结构,常用命令,事务 2.redis安装 3.redis和springboot集...

  • Redis 常用命令

    本文介绍 Redis 的常用命令。 目录 启动 Redis 查询 Redis 是否启动成功 查看主机的6379端口...

  • Redis基本命令(数据类型)

    Redis命令大全 Redis命令大全 Key常用命令 keys * exists key(是否存在) move ...

  • centos7.3 安装redis

    安装redis 一路默认为y即可 常用命令 启动 systemctl start redis...

网友评论

      本文标题:redis常用命令

      本文链接:https://www.haomeiwen.com/subject/jmrtahtx.html