Redis命令大全总结(99个最常用命令)

Redis命令大全总结(99个最常用命令)-mikechen

连接Redis命令

连接本地redis服务命令:redis-cli

$ redis-cli

redis 127.0.0.1:6379>

>help # 命令行的帮助

>keys * # 查看所有的key列表

>info # 查看服务器信息,如占用系统内存,看其中的used_memory_human值

>select 2 # 切换到数据库2

远程连接redis服务命令:redis-clo -h host -p port -a password

 

key操作命令

keys * :查询所有的key;

dump k:序列化k,并返回被序列化的值;

del k :要删除的key;

exists k :key是否存在,存在返回1,不存在返回0;

expire k s:设置key的有效时间秒;

ttl k:查看k的有效时间;

pexpire k ss:设置key的毫秒有效时间;

persist k:将有效时间去掉;

keys user:? :模糊查询key;

keys user:*:模糊查询key;

randomkey:随机获取一个key(抽奖);

rename k1 k2:重命名key;

select 下表:(redis数据库默认16个数据库(0~15)):根据下标切换数据库;

move k 下标:移动key到其他的库;

type k:获取key所存储的数据类型;

String类型命令

set(key, value):给数据库中名称为key的string赋予值value

get(key):返回数据库中名称为key的string的value

getset(key, value):给名称为key的string赋予上一次的value

setnx(key, value):添加string,名称为key,值为value

setex(key, time, value):向库中添加string,设定过期时间time

getrange k start end(偏移量):通过开始,结束位置截取k的值

getbit k number:

mget k k k :获取多个k的值

getset k v:设置k的新值,返回k的旧值

strlen k:获取k值的长度

incr k:k值自增加一,如果k不存在,初始化0

incrby k num :每次想自增数值

decr k:自减

decrby k num;每次想自减的值

hash类型命令

hset k(对象名称) field(属性) v(值) :添加hash

hget k field:获取元素的值

hmset k field v field v field v ….:批量添加hash元素的值

hgset k field field field :批量获取hash元素

hgetall k:获取所有k中的元素

hlen k :获取hash中有多少个元素

hkeys k:获取hash中所有字段

hdel k field field…..:删除hash中多个属性

hincrbyfloat :浮点类型增加

hsetnx k fireld v :如果field有值则不保存,没有则保存

hincrby k field num :指定hash中字段field自增num

hexists k field: k中是否存在field元素

list类型命令

lpush k:从左边添加元素

rpush k:从右边添加元素

lrange k start end:通过下标范围获取元素

lrange k 0 -1:获取k中所有的元素

Lpushx key value

将一个值插入到已经存在的列表的头部,如果列表不存在,操作无效

Rpushx key value

将一个值插入到已经存在的列表的尾部,如果列表不存在,操作无效

llen k:获取k中元素的个数

lindex k 下标:通过下表获取元素

lpop k :从左边移除元素

rpop k :从右边移除元素

blpop k timeout :从左边移除元素,没有元素等待时间,有移除

brpop k timeout :从右边移除元素,没有元素等待时间,有移除

ltrim k start end :要保留start~end之间的元素

lset k index renamekey :修改下标index元素

linsert k before/after 元素 数据:在元素之前或者之后插入数据

rpoplpush k1 k2:从k1移除一个元素到k2的头部

set类型命令

sadd k v v v v v:添加元素

scard k:查看集合的大小

smembers k :查看k所有的元素

sismember k 元素;查看k中有没有这个元素

srandmember k count:随即从k中取出count个元素

spop k count:移除count个元素并返回结果

srem k 元素:指定移除哪个元素

smove set k1 元素:将元素移入到k1中

sdiff k1 k2 :取差集,取k1中有的,k2中没有的元素

sinter k1 k2:取k1 k2交集的元素

sunion k1 k2:取k1 k2并集的元素

sunionstore k3 k1 k2 :把k1 k2中并集的元素存放在k3中

zSet类型命令

zadd k 分数 元素 分数 元素….:增加元素

zcard k:查找有多少个元素

zrange k 0 -1:查看所有元素

zrange k 0 -1 withscores:查看所有元素以及分数

zrevrange k 0 -1 :倒序查看所有元素

zcount k 分数1~分数2:查看分数1~分数2之间的元素个数

zrank k 元素:查找该元素所在集合中下标的位置

zadd k 分数 原有元素:修改该元素的分数

zremrangebyrank k 下标1~下标2:删除下标1~下标2之间的元素

zremrangebyscore k 分数1~分数2:删除分数1~分数2之间的元素

zincrby k num 元素:k中的元素分数自增num个

zscore k 元素:返回元素的分数

持久化

save:将数据同步保存到磁盘

bgsave:将数据异步保存到磁盘

lastsave:返回上次成功将数据保存到磁盘的Unix时戳

shundown:将数据同步保存到磁盘,然后关闭服务

其他命令

flushdb:删除当前库中的所有信息

flushall:删除库中的所有数据

subscribe cctv …..:订阅多个频道

publish cctv message:发布信息(message)

unsubscribe cctv….:退订频道

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法