当前位置:   article > 正文

redis常用linux指令(无介绍快使用)_linux redis 命令

linux redis 命令

问题背景

  • 有时候需要在linux直接操作redis,可老是忘记指令,写一篇快使用redis指令

登录关闭redis

1 登录redis客户端

redis-cli -h 127.0.0.1 -p 6379 -a password 
  • 1

2 关闭redis客户端

redis-cli shutdown
  • 1

创建键值对

1 创建键为:k1,值为:hello

set k1 hello
  • 1

2 获取键:k1的值

get k1
  • 1

切换16个数据库

1 数据库索引为0-15,切换第16个数据库

select 15
  • 1

数据库键的数量

dbsize
  • 1

清空数据库

1 清空当前库

flushdb
  • 1

2 清空16个库

flushall
  • 1

模糊查询

1 查询所有的键

keys *
  • 1

2 查询 k* 开头的所有键

keys k*
  • 1

3 查询 *e 结尾的所有键

keys *e
  • 1

4 查询包含 k 的键

keys *k*
  • 1

通配符单个字符?

1 模糊查询k字头,并且匹配一个字符

keys k?
  • 1

2 匹配两个未知字符

keys k??
  • 1

通配括号内的某一个字符

1 记得其他字母,就第二个字母可能是a或e

keys r[ae]dis
  • 1

判断key是否存在

1 判断键k1是否存在

exists k1
  • 1

移动key到不同数据库

1 移动到第9个数据库

move k1 8
  • 1

ttl key:查看键还有多久过期(-1永不过期,-2已过期)

1 查看k1多久过期,time to live 还能活多久

ttl k1
  • 1

设置过期时间

1 设置k1过期时间为10s

expire k1 10
  • 1

查看键的类型

1 type key

type k1
  • 1

字符串类型

1 创建键

set k1 v1
  • 1

2 获取值

get k1
  • 1

3 追加字符串值abc

append k1 abc
  • 1

4 查看value的长度

strlen k1
  • 1

5 删除键

del k1
  • 1

数字类型加减

1 创建键

set k1 1
  • 1

2 自增+1

incr k1
  • 1

3 自减-1

decr k1
  • 1

4 自增任意数,自增+3

incrby k1 3
  • 1

5 自减任意数,自减-3

decr k1 3
  • 1

range使用

1 查看String类型中索引包含的值,类似substring,查看所有

getrange k1 0 -1
  • 1

2 查看0到3共4个字符

getrange k1 0 3
  • 1

3 替换k1的值,从下标1开始提供为xxx

setrange k1 1 xxx
  • 1

setex设置数据的生命周期set with expire

1 添加k1 v1数据的同时,设置5秒的声明周期

setex k1 5 v1
  • 1

setnx分布式锁set if not exist

1 添加数据的时候判断是否已经存在,防止已存在的数据被覆盖掉,如果k1存在返回0,不存在返回1

setnx k1 v1
  • 1

批量设置和查询

1 mset

mset k1 v1 k2 v2
  • 1

2 msetnx

msetnx k1 v1 k2 v2
  • 1

getset先获取,null进行创建,否则修改value

getset k1 v1
  • 1

列表list

1 lpush,l:left 自左向右→添加 (从上往下添加),先添加1,再添加2,最后5

lpush list01 1 2 3 4 5
  • 1

2 因为先添加的1,最后添加的5,所以从左边开始取,是先取5

lrange list01 0 -1
  • 1
"5"
"4"
"3"
"2"
"1"
  • 1
  • 2
  • 3
  • 4
  • 5

3 rpush,r:right 自右向左←添加(从下往上添加),先添加5,再添加4,最后添加1

rpush list02 1 2 3 4 5 
  • 1

4 lpop移除左边第一个元素,也就是1

lpop list02
  • 1

4 rpop移除右边第一个元素,也就是5

rpop list02
  • 1

5 lindex从左边开始查询索引

lindex list01 2
  • 1

6 llen:返回集合长度

llen list01
  • 1

7 lrem:删除n个value,从list01中移除1个3

lrem list01 1 3
  • 1

8 ltrim:截取指定范围的值,别的全扔掉,与substring一样,只不过集合被清除了

ltrim list01 1 3
  • 1

9 lset:改变某个下标的某个值,将list02中下标为0的元素修改成x

lset list02 0 x
  • 1

10 linsert:插入元素(指定某个元素之前/之后)
从左边进入,在list02中的2元素之前插入java

linsert list02 before 2 java 
  • 1

从左边进入,在list02中的2元素之后插入redis

linsert list02 after 2 redis 
  • 1

集合set,不允许重复

1 sadd:添加到集合

sadd set01 1 2 2 3 3 3
  • 1

2 smembers:查看集合

smembers set01
  • 1

3 sismember:判断是否存在

sismember set01 5
  • 1

返回0和1,表示布尔false不存在和true存在,不是下标
4 scard:获得集合中的元素个数

scard set01
  • 1

5 srem:删除集合中的元素 srem key value

srem set01 2
  • 1

6 srandmember:从集合中随机获取几个元素 srandmember 整数(个数)

  • 从set01中随机获取3个元素
srandmember set01 3 
  • 1

7 spop:随机出栈(移除)

  • 随机移除一个元素
spop set01
  • 1

8 smove:移动元素:将key1某个值赋值给key2

  • 将set01中的元素3移动到set02中
smove set01 set02 3
  • 1

9 交集:sinter

  • set01和set02共同存在的元素
sinter set01 set02
  • 1

10 并集:sunion

  • 将set01和set02中所有元素合并起来(排除重复的)
sunion set01 set02
  • 1

11 差集:sdiff

  • 在set01中存在,在set02中不存在
sdiff set01 set02
  • 1

哈希Hash,KV模式不变,但V是一个键值对

1 hset:添加

  • 添加user,值为id=1001
hset user id 1001
  • 1

2 hget:得到

  • 查询user,必须指明具体的字段
hget user id
  • 1

3 hmset:多添加

  • 添加学生student,属性一堆
hmset student id 101 name tom age 22
  • 1

4 hmget:多得到

  • 获取学生名字和年龄
hmget student name age
  • 1

5 hgetall:得到全部

  • 获取学生全部信息
hgetall student
  • 1

6 hdel:删除属性

  • 删除学生年龄属性
hdel student age
  • 1

7 hlen:返回元素的属性个数

  • student属性的数量,id和name,共两个属性
hlen student
  • 1

8 hexists:判断元素是否存在某个属性

  • student中是否存在name属性
hexists student name
  • 1

9 hkeys:获得属性的所有key

  • 获取student所有的属性名
hkeys student
  • 1

10 hvals:获得属性的所有value

  • 获取student所有属性的值(内容)
hvals student
  • 1

11 hincrby:自增(整数)

  • 自增整数2
hincrby student age 2
  • 1

12 hincrbyfloat:自增(小数)

  • 自增小数5.5
hincrbyfloat user money 5.5
  • 1

13 hsetnx:添加的时候,先判断是否存在

  • 添加时,判断age是否存在
hsetnx student age 18
  • 1

有序集合Zset

1 zadd/zrange (withscores):添加/查询

127.0.0.1:6379> zadd zset01 10 vip1 20 vip2 30 vip3 40 vip4 50 vip5
(integer) 5
127.0.0.1:6379> zrange zset01 0 -1 # 查询数据
1) "vip1"
2) "vip2"
3) "vip3"
4) "vip4"
5) "vip5"
127.0.0.1:6379> zrange zset01 0 -1 withscores # 带着分数查询数据
1) "vip1"
2) "10"
3) "vip2"
4) "20"
5) "vip3"
6) "30"
7) "vip4"
8) "40"
9) "vip5"
10) "50"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

2 zrangebyscore:模糊查询

  • ( : 不包含
  • limit:跳过几个截取几个
127.0.0.1:6379> zrangebyscore zset01 20 40 # 20 <= score <= 40
1) "vip2"
2) "vip3"
3) "vip4"
127.0.0.1:6379> zrangebyscore zset01 20 (40 # 20 <= score < 40
1) "vip2"
2) "vip3"
127.0.0.1:6379> zrangebyscore zset01 (20 (40 # 20 < score < 40
1) "vip3"
127.0.0.1:6379> zrangebyscore zset01 10 40 limit 2 2 # 10 <= score <=
40,共返回四个,跳过前2个,取2个
1) "vip3"
2) "vip4"
127.0.0.1:6379> zrangebyscore zset01 10 40 limit 2 1 # 20 <= score <=
40,共返回四个,跳过前2个,取1个
1) "vip3"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

3 zrem:删除元素

zrem zset01 vip5
  • 1

4 zcard/zcount/zrank/zscore:集合长度/范围内元素个数/得元素下标/通过值得分数

127.0.0.1:6379> zcard zset01 # 集合中元素的个数
(integer) 4
127.0.0.1:6379> zcount zset01 20 30 # 分数在20~40之间,共有几个元素
(integer) 2
127.0.0.1:6379> zrank zset01 vip3 # vip3在集合中的下标(从上向下)
(integer) 2
127.0.0.1:6379> zscore zset01 vip2 # 通过元素获得对应的分数
"20"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5 zrevrank:逆序找下标(从下向上)

zrevrank zset01 vip3
  • 1

6 zrevrange:逆序查询

127.0.0.1:6379> zrange zset01 0 -1 # 顺序查询
1) "vip1"
2) "vip2"
3) "vip3"
4) "vip4"
127.0.0.1:6379> zrevrange zset01 0 -1 # 逆序查询
1) "vip4"
2) "vip3"
3) "vip2"
4) "vip1"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

7 zrevrangebyscore:逆序范围查找

127.0.0.1:6379> zrevrangebyscore zset01 30 20 # 逆序查询分数在30~20之间的
(注意,先写大值,再写小值)
1) "vip3"
2) "vip2"
127.0.0.1:6379> zrevrangebyscore zset01 20 30 # 如果小值在前,则结果为null
(empty list or set)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6




作为程序员第 118 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …

Lyric: 你的发香散的匆忙

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/732580
推荐阅读
相关标签
  

闽ICP备14008679号