Redis超详细入门手册教程!还不快来看看?2

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis超详细入门手册教程!还不快来看看?

5:  字符串类型(string)

      字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数

据,序列化后的数据,JSON化的对象甚至是一张图片。

字符串类型的数据操作总的思想是通过key操作value,key是数据标识,value是我们感

兴趣的业务数据。

6:set

语法:set key value

功能:将字符串值 value 设置到 key 中,如果key已存在,后放的值会把前放的值覆盖掉。

返回值:OK表示成功

66177891141d4416863be8c47dac2113.png

9ece58b48b6d45ff9167e4a027b994a0.png

6.1 get

语法:get key

功能:获取 key 中设置的字符串值

返回值:key存在,返回key对应的value;

               key不存在,返回nil

0a6f0cb6eb054579bb09fcc8bdfe28a7.png

6.2 append

语法:append key value

功能:如果 key 存在,则将 value 追加到 key 原来旧值的末尾

         如果 key 不存在,则将key 设置值为 value

返回值:追加字符串之后的总长度(字符个数)

a7d6dfcf1b7843d59ec1e83d7f6acca7.png

6.3 strlen

语法:strlen key

功能:返回 key 所储存的字符串值的长度

返回值:如果key存在,返回字符串值的长度;

       key不存在,返回0

7dab1ab1946f476c94ce7865d2c9c29e.png

6.4 incr

语法:incr key

功能:将 key 中储存的数字值加1,如果 key 不存在,则 key 的值先被初始化为 0 再执行incr操作。

返回值:返回加1后的key值

132c4c37df394433b7ca00100d8f1cfb.png

6.5 decr

语法:decr key

功能:将 key 中储存的数字值减1,如果 key 不存在,则么 key 的值先被初始化为 0 再执行 decr 操作。

返回值:返回减1后的key值

3cfa9acc6af54ff889384138a3263101.png

6.6  incrby

语法:incrby key offset

功能:将 key 所储存的值加上增量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 INCRBY 命令。

返回值:返回增量之后的key值。

7bc08cd1b7364804a89f35bd36882008.png

6.7  decrby

语法:decrby key offset

功能:将 key 所储存的值减去减量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 DECRBY 命令。

返回值:返回减量之后的key值。

7317ddbf14624c94879bb5cb6f3c27b9.png

6.8  getrange

语法:getrange key startIndex endIndex

功能:获取 key 中字符串值从 startIndex 开始到 endIndex 结束的子字符串,包括startIndex和endIndex, 负数表示从字符串的末尾开始,-1 表示最后一个字符。

21bae3f870ef426fa2088fec8443d59a.png

6.9  setrange

语法:setrange key offsetIndex value

功能:用value覆盖key的存储的值从offset开始。

返回值:修改后的字符串的长度。

441359d6624a4380ac99d908f916a005.png

6.10  setex

语法:setex key seconds value

功能:设置key的值,并将 key 的生存时间设为 seconds (以秒为单位)  ,如果key已经存在,将覆盖旧值。

返回值:设置成功,返回OK。

7972c6c78799486caee1219b7e99fd57.png

6.11  mset

语法:mset key value [key value…]

功能:同时设置一个或多个 key-value 对

返回值:设置成功,返回OK。

78ead616d36445e2b4c848bd3f219e9b.png

6.12  mget

语法:mget key [key …]

功能:获取所有(一个或多个)给定 key 的值

返回值:包含所有key的列表,如果key不存在,则返回nil。

ab915b8e886742fcb65c3e3234633e7c.png

6.13  msetnx

语法:msetnx key value[key value…]

功能:同时设置一个或多个 key-value 对,如果有一个key是存在的,则设置不成功。

返回值:设置成功,返回1

设置失败,返回0

35832610088940e5bbd4966c825887ad.png

7:列表(List)

       Redis列表是简单的字符串列表,按照插入顺序排序,左边(头部)、右边(尾部)或者中间都可以添加元素。链表的操作无论是头或者尾效率都极高,但是如果对中间元素进行操作,那效率会大大降低了。

       列表类型的数据操作总的思想是通过key和下标操作value,key是数据标识,下标是数据在列表中的位置,value是我们感兴趣的业务数据。

7.1 lpush

语法:lpush key value [value…]

功能:将一个或多个值 value 插入到列表 key 的最左边(表头),各个value值依次插入到表头位置。

返回值:插入之后的列表的长度。

193171143977441eaed72e183e4b5b20.png

7.2  rpush

语法:rpush key value [value…]

功能:将一个或多个值 value 插入到列表 key 的最右边(表尾),各个 value 值按依次插入到表尾。

返回值:插入之后的列表的长度

4bb096f4f3c349fba48548c263f92308.png

7.3 lrange

语法:lrange key startIndex endIndex

功能:获取列表 key 中指定下标区间内的元素,下标从0开始,到列表长度-1;下标也可以是负数,表示列表从后往前取,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推;startIndex和endIndex超出范围不会报错。

返回值:获取到的元素列表。

309bb93896ce4d29b16c2cc1f19826ab.png

7.4 lpop

语法:lpop key

功能:移除并返回列表key头部第一个元素,即列表左侧的第一个元素。

返回值:列表左侧第一个元素的值;列表key不存在,返回nil。

07e16aa94a364b0f973d5d6a119c4c4e.png

7.5 rpop

语法:rpop key

功能:移除并返回列表key尾部第一个元素,即列表右侧的第一个元素。

返回值:列表右侧第一个元素的值;列表key不存在,返回nil。

c6f74fe3ed554a78be99e9b5246d8e80.png

7.6  lindex

语法:lindex key index

功能:获取列表 key 中下标为指定 index 的元素,列表元素不删除,只是查询。0 表示列表的第一个元素,1 表示列表的第二个元素;index也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

返回值:key存在时,返回指定元素的值;

             Key不存在时,返回nil。

db35a55476f5400e897eab2ca14e6828.png

7.7  llen

语法:llen key

功能:获取列表 key 的长度

返回值:数值,列表的长度;key不存在返回0

c7b5a65ad354433d9dfa0a0708fd9250.png

7.8  lrem

语法:lrem key count value

功能:根据参数 count 的值,移除列表中与参数 value 相等的元素,

count >0 ,从列表的左侧向右开始移除;

count < 0 从列表的尾部开始移除;

count = 0移除表中所有与 value 相等的值。

返回值:数值,移除的元素个数

9c350271ae644df59d76e1fc86a53c34.png

7.9  ltrim

语法:ltrim key startIndex endIndex

功能:截取key的指定下标区间的元素,并且赋值给key。下标从0开始,一直到列表长度-1;下标也可以是负数,表示列表从后往前取,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推;startIndex和endIndex超出范围不会报错。

返回值:执行成功返回ok

cb5dcfd1893647a58f41df266078376e.png

7.10  lset

语法:lset key index value

功能:将列表 key 下标为 index 的元素的值设置为 value。

功能:设置成功返回ok ; key不存在或者index超出范围返回错误信息。

8cb31a88d9fc4afea6227e0a1c35bc5b.png

7.11  linsert

语法:linsert key before/after pivot value

功能:将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key不存在或者pivot不在列表中,不执行任何操作。

返回值:命令执行成功,返回新列表的长度。没有找到pivot返回 -1, key不存在返回0。

7f82b1f1ae584f8b92e7ff78d5935e90.png

8:集合类型(set)

Redis的Set是string类型的无序不重复集合。

集合类型的数据操作总的思想是通过key确定集合,key是集合标识,元素没有下标,只有直接操作业务数据和数据的个数。

8.1 sadd

语法:sadd key member [member…]

功能:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。

返回值:加入到集合的新元素的个数(不包括被忽略的元素)。

83868a85791e4b3f9aedce8f435fdf27.png

8.2  smembers

语法:smembers key

功能:获取集合 key 中的所有成员元素,不存在的key视为空集合。

返回值:返回指定集合的所有元素集合,不存在的key,返回空集合。

77658723dcf64dd0a2808525f933e0a1.png

8.3  sismember

语法:sismember key member

功能:判断 member 元素是否是集合 key 的元素

返回值:member是集合成员返回1,其他返回 0 。

c677a9beccc742569da60969f6469795.png

8.4  scard

语法:scard key

功能:获取集合里面的元素个数

返回值:数字,key的元素个数。其他情况返回 0 。

f1a307685f4e49ac9ee64fd9fcf3fdae.png

8.5  srem

语法:srem key member [member…]

功能:移除集合中一个或多个元素,不存在的元素被忽略。

返回值:数字,成功移除的元素个数,不包括被忽略的元素。

773340d4b4dc48d7809ce9dc661e5fdb.png

8.6  srandmember

语法:srandmember key[count]

功能:只提供key,随机返回集合中一个元素,元素不删除,依然在集合中;

         提供了count时,count 正数, 返回包含count个数元素的集合,集合元素各不重复。count是负数,返回一个count绝对值的长度的集合,集合中元素可能会重复多次。

返回值:一个元素或者多个元素的集合

c1bc391455d34ba684ccf739ef8e1a1d.png

8.7  spop

语法:spop key[count]

功能:随机从集合中删除一个或count个元素。

返回值:被删除的元素,key不存在或空集合返回nil。

68158d6550894794b5fa17d4064f057c.png

8.8  smove

语法:smove src dest member

功能:将 member 元素从src集合移动到dest集合,member不存在,smove不执行操作,返回0,如果dest存在member,则仅从src中删除member。

返回值:成功返回 1 ,其他返回 0 。

24238be812d04c139a77bbc90555d33f.png

8.9  sdiff

语法:sdiff key key [key…]

功能:返回指定集合的差集,以第一个集合为准进行比较,即第一个集合中有但在其它任何集合中都没有的元素组成的集合。

返回值:返回第一个集合中有而后边集合中都没有的元素组成的集合,如果第一个集合中的元素在后边集合中都有则返回空集合。

9664682c7ec24662b86c91b9ed6ded40.png

8.10  sinter

语法:sinter key key [key…]

功能:返回指定集合的交集,即指定的所有集合中都有的元素组成的集合。

返回值:交集元素组成的集合,如果没有则返回空集合。

eda67e4d1b2c46fdba976ac89a596ce5.png

8.11  sunion

语法:sunion key key [key…]

功能:返回指定集合的并集,即指定的所有集合元素组成的大集合,如果元素有重复,则保留一个。

返回值:返回所有集合元素组成的大集合,如果所有key都不存在,返回空集合。

b981631e59db48be9695b91a8c7487c3.png




相关实践学习
基于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
目录
相关文章
|
2月前
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介
|
2月前
|
NoSQL 算法 安全
Redis6入门到实战------ 四、Redis配置文件介绍
这篇文章详细介绍了Redis配置文件中的各种设置,包括单位定义、包含配置、网络配置、守护进程设置、日志记录、密码安全、客户端连接限制以及内存使用策略等。
Redis6入门到实战------ 四、Redis配置文件介绍
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Redis6入门到实战------ 二、Redis安装
这篇文章详细介绍了Redis 6的安装过程,包括下载、解压、编译、安装、配置以及启动Redis服务器的步骤。还涵盖了如何设置Redis以在后台运行,如何为Redis设置密码保护,以及如何配置Redis服务以实现开机自启动。
Redis6入门到实战------ 二、Redis安装
|
2月前
|
NoSQL Java Redis
Redis6入门到实战------思维导图+章节目录
这篇文章提供了Redis 6从入门到实战的全面学习资料,包括思维导图和各章节目录,涵盖了NoSQL数据库、Redis安装配置、数据类型、事务、持久化、主从复制、集群等核心知识点。
Redis6入门到实战------思维导图+章节目录
|
2月前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
2月前
|
NoSQL 关系型数据库 Redis
Redis6入门到实战------ 九、10. Redis_事务_锁机制_秒杀
这篇文章深入探讨了Redis事务的概念、命令使用、错误处理机制以及乐观锁和悲观锁的应用,并通过WATCH/UNWATCH命令展示了事务中的锁机制。
Redis6入门到实战------ 九、10. Redis_事务_锁机制_秒杀
|
2月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合
|
2月前
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。
|
2月前
|
NoSQL Java Linux
Redis6入门到实战------ 六、Redis_Jedis_测试
这篇文章介绍了如何使用Jedis客户端连接Redis,并进行基本的数据类型操作测试,包括字符串、列表、集合、哈希和有序集合的相关API使用示例。
Redis6入门到实战------ 六、Redis_Jedis_测试
|
2月前
|
NoSQL Redis
Redis6入门到实战------ 五、Redis的发布和订阅
这篇文章介绍了Redis的发布和订阅机制,包括其基本概念、客户端如何订阅频道以及如何发布消息给订阅者。
下一篇
无影云桌面