Redis命令集合

一.各种命令

1.查询命令

命令

解释

返回

keys *

查询所有的数据

exists k1

查找k1 是否存在

(integer) 0 0代表失败 1代表查找到

type k1

查询k1是什么类型

返回类型

get k1

查看 k 1 里面的内容

hahaahha"

ttl k1

查看什么时候过期 ( -1 永不过期 否则返回过期秒)

3

getrange k1 0 4

查询前4个字符串相对于字符串截取

"12312"

getset k1 哈哈

先把get弹出来 在设置set的值

11

2.添加命令

命令

解释

返回

set k1

添加一个名字为 k1 的set

3.修改命令

命令

解释

返回

EXPIRE k1 5

设置 5秒之后过期

setrange k1 1 kkee

修改k1 中 从1 开始的后面4个字符为 kkee

"1kkee3123123"

incr k3 3

让k3 自增 3

(integer) 101

decr k3 3

让k3自减

4.删除命令

命令

解释

返回

del k1

删除 k1

0/1

UNILINK k2

非阻塞删除

2.其他组合命令

1.String类型操作

1.自增自减

set k3 100 incr k3 3 让k3自增3 decr k3 3 让k3自减

2.获取字符串长度 向字符串追加

strlen k3 获取字符串长度 append k3 aaaa 往k3后面添加aaaa

3.分布式锁

2.list操作

1.左添加和右添加

127.0.0.1:6379> lpush list1 1 2 3 4 5 //往左边添加 (integer) 5 127.0.0.1:6379> rpush list2 11 22 33 44 55 //往右边添加 (integer) 5 127.0.0.1:6379> lrange 0 -1 (error) ERR wrong number of arguments for 'lrange' command 127.0.0.1:6379> lrange list1 0 -1 //查询当前集合list1 左边插入里面所有的值 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" 127.0.0.1:6379> lrange list2 0 -1 //查询当前集合list2 右边插入里面所有的值 1) "11" 2) "22" 3) "33" 4) "44" 5) "55"

2.左删除和右删除

127.0.0.1:6379> lpop list1 //弹出最左边的元素 "5" 127.0.0.1:6379> lrange list1 0 -1 //查看 1) "4" 2) "3" 3) "2" 4) "1" 5) "3" 6) "2" 7) "1" 127.0.0.1:6379> rpop list1 //弹出最右边的元素 "1" 127.0.0.1:6379> lrange list1 0 -1 1) "4" 2) "3" 3) "2" 4) "1" 5) "3" 6) "2"

3.查询有多少个元素,删除区间内的值

127.0.0.1:6379> lindex list1 3 //查找第三个元素的内容 "1" 127.0.0.1:6379> llen list1 // 查找一共有多少个元素 (integer) 6 127.0.0.1:6379> del list2 //删除list2 (integer) 1 127.0.0.1:6379> lrem list1 3 1 //删掉这个集合中有三个名字为1的值 (integer) 1 127.0.0.1:6379> ltrim list1 1 2 //删掉1-2这个区间的值 OK

4.把一个集合的最后一个元素给另一个集合的第一个元素

127.0.0.1:6379> lpush list1 1 2 3 4 5 (integer) 5 127.0.0.1:6379> rpush list2 11 22 33 44 55 (integer) 5 127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" 127.0.0.1:6379> lrange list2 0 -1 1) "11" 2) "22" 3) "33" 4) "44" 5) "55" 127.0.0.1:6379> rpoplpush list1 list2 //设置把list1 最后一个给list2 "1" 127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 127.0.0.1:6379> lrange list2 0 -1 1) "1" 2) "11" 3) "22" 4) "33" 5) "44" 6) "55"

5.修改list集合里面指定下标的值

127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 127.0.0.1:6379> lset list1 2 mysql //修改下标为2的值为mysql OK 127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "mysql" 4) "2"

6.往list集合里面插入一个值

127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "mysql" 4) "2" 127.0.0.1:6379> linsert list1 before mysql java //查找到mysql在mysql前面插入名字叫java的值 (integer) 5 127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "java" 4) "mysql" 5) "2"

3.hash Map

1.添加/查询

127.0.0.1:6379> hset user:001 id 11 name zhansan age 13 //添加一条数据 (integer) 3 127.0.0.1:6379> hget user:001 id //查询当前的id值 "11" 127.0.0.1:6379> hget user:001 name //查询name值 "zhansan" 127.0.0.1:6379> hmset user:002 id 11 name zhansan age 13 //添加多个 OK 127.0.0.1:6379> hmget user:002 id name age //查询多个值 1) "11" 2) "zhansan" 3) "13"

2.修改 遍历

127.0.0.1:6379> hgetall user:001 //遍历001 1) "id" 2) "11" 3) "name" 4) "zhansan" 5) "age" 6) "13" 127.0.0.1:6379> hdel user:001 age //删除001中的age元素 (integer) 1 127.0.0.1:6379> hgetall user:001 //查看修改之后的 1) "id" 2) "11" 3) "name" 4) "zhansan"

3.查看map长度和判断 key是否存在

127.0.0.1:6379> hlen user:001 //查看user001 的长度 (integer) 2 127.0.0.1:6379> hexists user:001 name //查看user:001 是否存在name属性 (integer) 1 127.0.0.1:6379> hexists user:001 name11 //不存在返回0 (integer) 0 127.0.0.1:6379>

4.遍历map里面键的值 或者的是值的值

127.0.0.1:6379> hkeys user:001 //遍历建的值 1) "id" 2) "name" 127.0.0.1:6379> hvals user:001 //遍历值的值 1) "11" 2) "zhansan" 127.0.0.1:6379>

5.给元素自增 (double和int类型)

127.0.0.1:6379> hincrby user:001 id 1 //给id自增 1 (integer) 13 127.0.0.1:6379> hincrbyfloat user:001 id 1.22 //给id自增 1.22这多 但是是小数类型的 "14.22000000000000064" 127.0.0.1:6379>

6.给user:001添加一个key 和value

127.0.0.1:6379> hsetnx user:001 password 123456 (integer) 1 127.0.0.1:6379> hsetnx user:001 password 123456 (integer) 0 hset user:001 uid1111 22222 通过这个方法也可以添加一个 就是名称相同的画

4.Set

1.添加和查询, 和查询是否重复

127.0.0.1:6379> sadd set1:1 1 1 2 2 2 3 4 5 //添加一条 如果重复那么 就自动去重 (integer) 5 127.0.0.1:6379> smembers set1:1 //查询里面存在的内容 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> sismember set1:1 4 //查询set里面是否存在 4 这个元素 (integer) 1 127.0.0.1:6379> sismember set1:1 1 (integer) 1 127.0.0.1:6379> sismember set1:1 0//查询set里面是否存在 0 这个元素 (integer) 0

展现列表统计有用

2.删除 元素 和查看数量

127.0.0.1:6379> smembers set1:1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> srem set1:1 3 //删除一个元素名字叫3的值 (integer) 1 127.0.0.1:6379> scard set1:1 //查看当前剩余多少个元素 (integer) 4 127.0.0.1:6379> smembers set1:1 1) "1" 2) "2" 3) "4" 4) "5"

一般用于抽奖 如果抽到了 那么就要把那个人弹出去这样子的

3.展示 和 展示完成之后移除

127.0.0.1:6379> sadd set2 1 2 3 4 5 6 7 8 9 (integer) 9 127.0.0.1:6379> srandmember set2 3 //随机展示三个元素 1) "9" 2) "8" 3) "5" 127.0.0.1:6379> spop set2 2 //随机展示两个元素并且把他们删掉 1) "5" 2) "1" 127.0.0.1:6379> smembers set2 1) "2" 2) "3" 3) "4" 4) "6" 5) "7" 6) "8" 7) "9"

4.把set2里面的指定元素移动到set3里面去

127.0.0.1:6379> smembers set2 1) "2" 2) "3" 3) "4" 4) "6" 5) "7" 6) "8" 7) "9" 127.0.0.1:6379> smembers set3 1) "a" 2) "b" 3) "c" 127.0.0.1:6379> smove set2 set3 4 (integer) 1 127.0.0.1:6379> smembers set3 1) "a" 2) "b" 3) "c" 4) "4"

5.1 差集

127.0.0.1:6379> sadd s1 a b c 1 2 (integer) 5 127.0.0.1:6379> sadd s2 1 2 3 a x (integer) 5 127.0.0.1:6379> sdiff s1 s2 //查找旨在s1 里面有 在s2 里面没有的值 1) "b" 2) "c"

5.1 并集

127.0.0.1:6379> sunion s1 s2 //查找两个里面都有的 1) "a" 2) "b" 3) "c" 4) "1" 5) "2" 6) "3" 7) "x" 127.0.0.1:6379> sinter s1 s2 //查找里面两个不相同的 1) "1" 2) "2" 3) "a" 127.0.0.1:6379> sintercard 2 s1 s2 //查找里面两个不相同的有多少个 (integer) 3

5.ZSet

(用来做数据排名)

1.添加 ,查询 (更具分数从大到小和从小到大)

127.0.0.1:6379> zadd zset1 60 v1 70 v2 80 v3 90 v4 100 v5 //插入数据 要带上分数 (integer) 5 127.0.0.1:6379> zrange zset1 0 -1 //查询里面所有值 1) "v1" 2) "v2" 3) "v3" 4) "v4" 5) "v5" 127.0.0.1:6379> zrange zset1 0 -1 withscores //从小到大查询 并且查询分数和值 1) "v1" 2) "60" 3) "v2" 4) "70" 5) "v3" 6) "80" 7) "v4" 8) "90" 9) "v5" 10) "100" 127.0.0.1:6379> zrevrange zset1 0 -1 withscores //从大到小查询, 并且查询分数和值 1) "v5" 2) "100" 3) "v4" 4) "90" 5) "v3" 6) "80" 7) "v2" 8) "70" 9) "v1" 10) "60"

2.分页 ,查找指定分数内的值

127.0.0.1:6379> zrangebyscore zset1 60 90 //查找60-90里面的值 1) "v1" 2) "v2" 3) "v3" 4) "v4" 127.0.0.1:6379> zrangebyscore zset1 60 90 withscores//查找60-90里面的值 和分数 1) "v1" 2) "60" 3) "v2" 4) "70" 5) "v3" 6) "80" 7) "v4" 8) "90" 127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores//查找60-90里面的值 和分数 但是不包括60 1) "v2" 2) "70" 3) "v3" 4) "80" 5) "v4" 6) "90" 127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores limit 0 2 //查找60-90里面的值 和分数 不包括60 并且从0到2之内的数据分页 1) "v2" 2) "70" 3) "v3" 4) "80" 127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores limit 0 3 //查找60-90里面的值 和分数 不包括60 并且从0到3之内的数据 分页 1) "v2" 2) "70" 3) "v3" 4) "80" 5) "v4" 6) "90"

3.常用的命令(删除, 查找 ,查找范围 ,弹出最小最大,查找排名第几)

127.0.0.1:6379> zscore zset1 v4 //查询v4对应的分数 "90" 127.0.0.1:6379> zcard zset1 //查询zset1里面有多少个元素 (integer) 5 127.0.0.1:6379> zrem zset1 v5 //删除v5这个值 (integer) 1 127.0.0.1:6379> zincrby zset1 3 v1 //给v1这个值增加3 "63" 127.0.0.1:6379> zcount zset1 60 100 //查找60-100分的有多少个 (integer) 4 127.0.0.1:6379> zmpop 1 zset1 min count 1 //弹出分数最小的值 1) "zset1" 2) 1) 1) "v1" 2) "63" 127.0.0.1:6379> zmpop 1 zset1 max count 1 //弹出分数最大的值 1) "zset1" 2) 1) 1) "v4" 2) "90" 127.0.0.1:6379> zrange zset1 0 -1 //查找所有的元素 1) "v2" 2) "v3" 127.0.0.1:6379> zrank zset1 v2 //查找v2在正序排序里面排第几 (integer) 0 127.0.0.1:6379> zrevrank zset1 v2//查找v2在倒叙排序里面排第几 (integer) 1

5.beitmap

127.0.0.1:6379> setbit a1 1 1 //设置字节1位置1这个位置设置为1 (integer) 0 127.0.0.1:6379> setbit a1 2 1 //设置字节2位置1这个位置设置为1 (integer) 0 127.0.0.1:6379> setbit a1 3 1//设置字节3位置1这个位置设置为1 (integer) 0 127.0.0.1:6379> type a1 //查看bit这个类型是什么 string 127.0.0.1:6379> getbit a1 1// 查询a1 第一个字节是否为true (integer) 1 127.0.0.1:6379> bitcount a1 //查看a1中有多少个为1的值 (integer) 3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游迹AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值