redis操作命令总结

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: redis操作命令总结

redis操作命令总结

先来介绍一下这篇文章的特点:最主要的是每条命令后面添加了详细的解释,以及英文单词的意思,便于大家理解,我也没想到有生之年我会这么多单词,哈哈哈哈.还有就是有的命令后面gen了实例,方便理解,鬼知道我写这篇文章花了多久,希望对大家有所帮助,这就是对我最大的鼓励.(虽然检查了很多遍,但是内容实在是多,所以有错误的请大家指出.我会进行更改)

1.启动redis服务端和客户端

服务端启动redis-server(server服务器)

客户端启动:redis-cli  (cli代表的就是client客户端)需要新建一个终端窗口进行操作

不管你在哪个目录下,随时输入这条命令,都是可以进入客户端的

具体的实例可以点击链接进入查看具体使用实例:flask框架(四)

2.redis操作之string类型(最常使用,请掌握)

2.1设置(增加)数据

1/单个键值对set key value(set设置,key键,value值)

2/给键值对设置有效期setex key second value  (second秒,直接填数值即可,默认的单位是秒)

3/设置多个 键值对:mset key1 value1 key2 value2(m可以是many多的意思)

4/追加值:append key value(append增加,这个单词大家肯定不陌生)

2.2获取数据

1/获取单个值get key(get得到)

2/获取多个值:mget key1 key2

2.3 通过键查看值

1/查看所有的键keys *

2/查看以a开头的键:keys 'a*'

3/查看键是否存在:exists key1(exist存在)

4/查看键的类型:type key1(type类型)

2.4 删除键值对

1/删除键:del key1 key2(del是delete删除的意思)

2/设置键有效期,删除键:expire key seconds(seconds是秒second的复数形式,说明单位是秒,我们可以设置很长时间)

3/查看键的有效期:ttl key(对不起,这个我实在是想不出单词和他对应了>.<...)


3.redis操作之hash类型

3.1增加数据

1/在散列键key中关联给定的域值对(filed-value pair):hset key field value

说明:如果域field之前没有关联值,那么命令返回1,如果已经关联过了,那么新值覆盖旧值,返回0


2/给一个散列键里面设置多个域值对;hmset key filed1 value1 field2 value2....

实例:hmset name wangtao ha xiaoyan xi代表的是给散列name里面存了wangtao-ha和xiaoyan-xi这两个域值对

3.2获取数据

1/ 返回散列键 key 中,域 field 所关联的值:hget key field

说明:如果域field没有关联值,那么返回nil


2/获取多个域所关联的值:hmget key filed1 field2....

实例:hmget name wangtao xiaoyan获取散列键name里面域wangtao和xiaoyan所关联的值


3/获取散列键中所有的域:hkeys key

实例:hkeys name获取散列键name里面所有的域

3.3 删除数据

1/删除散列键 key 中的一个或多个指定域,以及那些域的值:hdel key filed1 filed2...

说明:不存在的域将被忽略。命令返回被成功删除的域值对数量。

3.4 记忆小窍门

1/之前字符串类型中的操作命令掌握之后,我们再来看hash类型的命令,会发现好多命令都是相同的,只是在前面加了一个专属hash类型的标识h,大家可以看hget和hset等等

2/其实hash类型就是相当于给key里面存一个一个的field-value键值对,比字符串类型的多了一层而已,大家学完再回顾一遍就会发现不难了

4.redis操作之list类型

4.1插入数据

1/左侧插入数据:lpush key value1 value2..(l代表的是left左侧可以形象的理解为从左向右推)

ps:(也许这里你会发现个小问题,就是自己设置完值后,在取值的时候,发现值的顺序变成了倒序,不要怀疑你的眼睛,其实它没问题,当然也不是你的问题,给大家简单的解释一下这个原理:就是我们从左向右推进去,那么随着第二个值推进去,第一个值是不是就被推到里面了,我们一般的排序或者下标索引是不是从左开始标号0123,那么是不是第二个就变成了第一个呢?)


2/右侧插入数据:rpush key value1 value2..(r代表的是right右侧,可以结合前面理解为从右向左侧推)


3/指定key,旧元素位置前插入元素

linsert key before oldvalue newvalue(insert是插入的意思,l可以理解为时list列表的操作方法,oldvalue指的是旧元素,newvalue指的就是要插入的新元素)


4/指定key,旧元素位置后插入元素

linsert key after oldvalue newvalue(这里的灵魂单词便是after后面的意思,和前面的before一样,只需要记俩单词即可)

4.2获取数据

1/获取从编号start位置到编号stop位置的元素

lrange key start stop(l可以理解为list列表,range就是范围的意思,start是开始,stop是结束,这样应该就好记忆一些了)

tip:(最后一个元素的下标索引可以使用-1)

实例:lrange list 0 -1查看列表的所有值,从第0号元素开始到最后一个元素


2/设置指定索引位置的元素值:

lset key index value(l依旧是list,index指的是索引下标)


4.3删除数据

1/将key域列表中,前count次,值为value的元素删除:

lrem key count value(l还是list,rem是remove移除的意思,count就是次数)

tip:(这里有一个小点:当count>0的时候从头开始数,当count<0的时候,从屁股开始数"请原谅我的粗鲁,话糙理不糙",当count=0的时候查找的就是所有的元素)


5. redis的操作之set

5.1添加元素

1/向key域(集合)中添加多个数据

sadd key member1 member2...(s代表的就是set集合,add就是增加的意思,member就是成员的意思,意思就是给key里面添加成员(元素))

特点:有序.不重复

5.2获取元素

获取key域集合的所有元素:

smembers key(s就是set集合,members是member成员(元素)的复数形式,就是查所有的元素了)

5.3删除元素

删除指定的key元素的值:

srem key value(s就是set集合,rem就是remover删除的意思)


6. redis的操作之zset

6.1增加数据

向key域结合中添加多个score1,member1数据

zadd key score1 member1 score2 member2...(z就是zset类型,add是增加的意思,score是分数和记录的意思,member就是成员的意思,意思就是记录一个成员(元素),记录一个成员(元素)吧)

6.2获取数据

1/返回指定范围内的member元素:

zrange key start stop(z就是zset类型,range就是范围的意思,start就是开始,stop就是停止)

start:为开始索引,包含这个索引的元素

stop:为屁股索引,包含,其中-1代表的是最后一个元素


2/获取min和max权值之间(包含)的成员值:

zrangebyscore key min max(z就是zset类型,range就是范围,by就是通过,score分数(在增加数据的时候,用到了这个键名),合起来翻译就是通过score这个键从权重值min(最小)和max(最大值)这个范围内获取成员值)

权值值的就是权重值


3/获取key域(集合)中member的score的权重值:

zscore key member


6.3删除元素

1/删除域(集合)中指定的元素值:

zrem key member1 member2....

2/删除集合中权重在指定范围内(min,max)的元素

zremrangebyscore key min max(这句话的意思和之前解释的没什么差别,只有rem是remover删除的前三个字母,就是通过score查找那个范围内的元素进行删除)


查看更多命令(估计你也不想查了,但是还是象征性的放一个链接吧,万一哪天脑子一热或者工作需要想查查呢):http://www.redis.cn

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
46 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
14天前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
28 0
|
1月前
|
缓存 NoSQL 测试技术
Redis如何解决频繁的命令往返造成的性能瓶颈!
Redis如何解决频繁的命令往返造成的性能瓶颈!
|
1月前
|
缓存 NoSQL Redis
Redis命令:列表模糊删除详解
Redis命令:列表模糊删除详解
49 3
|
1月前
|
NoSQL 关系型数据库 MySQL
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
226 0
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
|
1月前
|
NoSQL Redis 数据安全/隐私保护
Redis 命令
10月更文挑战第15天
27 0
|
2月前
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
106 3
|
2月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
71 0
|
3月前
|
存储 消息中间件 NoSQL
Redis命令详解以及存储原理
Redis命令详解以及存储原理
|
4月前
|
存储 缓存 NoSQL
Redis 全局通用命令整理
Redis 全局通用命令整理
67 10