redis操作命令总结

本文涉及的产品
云数据库 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
相关文章
|
4天前
|
NoSQL Redis 数据库
10- 你们用过Redis的事务吗 ? 事务的命令有哪些 ?
```markdown Redis事务包括MULTI、EXEC、DISCARD、WATCH四个命令。虽具备事务功能,但在实际开发中使用较少。 ```
44 7
|
4天前
|
NoSQL Redis 数据库
Redis的全局命令及相关误区
Redis的全局命令及相关误区
25 0
|
4天前
|
存储 缓存 NoSQL
深入了解Redis键管理:探索Redis键命令及其功能与应用场景
深入了解Redis键管理:探索Redis键命令及其功能与应用场景
|
4天前
|
NoSQL Redis 数据库
Redis中的常用命令非常丰富,涵盖了各种数据类型的基本操作以及服务器管理和维护的相关指令
【5月更文挑战第15天】Redis常用命令包括通用(如PING、SELECT)、键操作(KEYS、EXISTS、DEL)、字符串(SET、GET)、哈希(HSET、HGET)、列表(LPUSH、LPOP)、集合(SADD、SMEMBERS)和有序集合(ZADD、ZRANGE)等。这些命令用于数据操作及服务器管理,满足不同场景需求。了解更多命令,建议参考Redis官方文档。
12 2
|
4天前
|
存储 NoSQL Redis
Redis基础命令集详解
Redis基础命令集详解
15 1
|
4天前
|
存储 NoSQL Redis
Redis 常用命令
Redis 常用命令
17 0
|
4天前
|
存储 NoSQL Redis
深入浅出Redis(零):Redis常用命令的使用
深入浅出Redis(零):Redis常用命令的使用
|
4天前
|
存储 NoSQL 关系型数据库
深入浅出Redis(十二):Redis的排序命令Sort
深入浅出Redis(十二):Redis的排序命令Sort
|
4天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
28 0
|
4天前
|
存储 NoSQL 定位技术
Redis常用数据类型及常用命令
这些是Redis中常用的数据类型和命令。Redis还提供了许多其他命令和功能,用于数据存储、操作和查询。你可以根据需要选择适当的数据类型和命令来满足你的应用程序需求。
25 4