《第2章 Redis常用数据类型及命令ppt课件(完整版).pptx》由会员分享,可在线阅读,更多相关《第2章 Redis常用数据类型及命令ppt课件(完整版).pptx(156页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 Redis常用数据类型及命令ppt课件(完整版)Redis 6 开发与实战主讲教师:XXX大数据教材Redis 6开发与实战学院:XXX邮箱:XXX办公地点:XXX办公电话:XXX推荐教材Redis 6 开发与实战 作者:张云河、王硕出版:人民邮电出版社配套:PPT+实验指导特点:覆盖Redis 6版本的绝大部分核心特性,面向初学者的行文分格,加上大量的辅助图片等。第二章 Redis 常用数据类型及命令大数据教材Redis 6开发与实战主讲: XXX 主审: XXX第1章初始Redis第2 2章RedisRedis常用数据类型第3章Redis常用命令第4章Redis高级主题第5章Red
2、is缓存的持久化第6章Redis集群环境部署第7章Redis开发与实战第8章Spring Boot与Redis整合应用第9章Redis监控第10章Redis的缓存设计与优化第11章扩展知识第2章Redis常用数据类型6Redis定义KEY注意点Key不要太长 尽量不要超过1024Byte,太长的话不仅消耗内存,而且会降低查找的效率。Key不要太短 太短的话可读性会降低。一个项目中,key单词与单词之间以 : 分开 例如SET user-name:loginnamewangewu。nRedis的数据存储结构是key-value对,定义key时要注意以下三点内容导航:2.1 String类型2.2
3、 Hash类型2.3 List类型2.4 Set类型第2章 Redis常用数据类型及命令主讲:* 主审:*2.5 Sorted Set类型2.6 Redis HyperLogLog8SET实例 1:对非空字符串执行 SETRANGE 命令。 127.0.0.1:6379 SET name xinpingOK GET name“xinping”实例2:对空字符串类型的key 执行 SET 命令。127.0.0.1:6379 LPUSH greet_list “hello”(integer) 1TYPE greet_listlistSET greet_list “world”OKYUPE gree
4、t_liststring9SETNX SETNX key valueSETNX命令的基本语法如下SETNX 是 Set If Not Exists EXISTS language # language不存在(integer) 0SETNX language “java” # language设置成功(integer) 1SETNX language “python” # language设置失败(integer) 0GET language # language没有被覆盖“java”第一次设置 language 时没有对应的值,所以 SETNX 修改生效,返回值为 1;第二次设置 langua
5、ge 时己经有了对应的值 java,所以本次修改不生效,返回值为 0。10SETNX SETNX key seconds valueSETNX命令的基本语法如下SETEX 用于设置 key 对应的值为 String 类型的 value,并指定此key 对应的有效期,有效期的过期时间以秒 (seconds) 为单位。如果key 对应的值己经存在,那么 SETEX 将覆盖旧值。这个命令类似于以下两个命令。SET key value # 设置值EXPIRE key seconds 设置过期时间不同之处在于,SETEX 命令是一个原子性操作,设置值和设置过期时间两个操作会在同一时间内完成。该命令经常用
6、在缓存操作中。返回值:设置成功时返回 OK;当seconds 参数不合法时,返回一个错误。11SETEX实例 1:KEY不存在实例2:KEY已经存在,KEY对应的值将被覆盖 SETEX color 60 red # 设置color的过期时间为60sok GET color # 获得color值“red” TTL color # 获得color剩余过期时间(integer) 49 GET coloe“red” GET color # 60s后color值为空(nil) SET color ”red“ok SETEX coloe 60 “green” ok GET color ”green”12S
7、ETRANGE SETRANGE key offset valueSETNX命令的基本语法如下通过 SETRANGE 用 valve 重写 key 所存储的字符串值,从偏移量 offtset 开始。不存在的key 当作空白字符串处理。返回值:被 SETRANGE 修改之后,宇符串的长度。13SETRANGE实例1:对非空字符串执行 SETRANGE 命令。实例2:对空字符串/不存在的key 执行 SETRANGE 命令。例如我们希望将xpws2006 的 163邮箱替换为 QQ 邮箱,我们可以这么做。 SET email xpws2006163. comOK STRANGE email 9 q
8、q. com(integer) 18 GET 127.0.0.1:6379 EXISTS empty_string(integer) 0127.0.0.1:6379 STRANGE empty_string 5Redis对不存在的key使用 SETRANGE(integer) 10127.0.0.1:6379 GET empty_ string空白处被零比特100”填充100000000 x00Redis14MSET MEST key value key value .MSET 命令的基本语法如下通过 MSET可一次设置至个key 的值,执行成功返回 OK,表示所有值都被设置了;执行失败返回
9、0,表示没有任何值被设置。MSET 是一个原子性操作,所有的key 都在同一时间内被设置。返回值:成功返回 OK,失败返回 0。15MSET实例:使用MSET命令一次设置多个KEY的值 MET name1 xinping1 name2 xinping2OK KEYS 确保指定的两个键值对被插入1) name22) namel MET name2 xinping3 # MSET 覆盖旧值OK127.0.0.1:6379 GET name2xinping216MSETNX MSETNy key value key value .MSETNX 命令的基本语法如下MSETNX 用于设置一个或多个key
10、 的值,执行成功返回 OK,表示所有值都被设置了;执行失败返回 0,表示没有任何值被设置,不会覆盖已经存在的key。MSETNX 是原子性的,因此它可以用作设置多个不同的key,表示不同字段(field)的唯一性逻辑对象 (Unique Logic Object),所有字段要么全被设置,要么全不被设置。返回值:如果所有key 都成功设置,那么返回 1;如果所有key 都设置失败(最少有一个key 己经存在),那么返回0。17MSETNX实例1:对不存在的key 执行 MSETNX 命令实例2:对己存在的key 执行 MSETNX 命令 MSETNX key1 a key2 “b”OK GET
11、key2“a” GET key2“b” MSETNG key2 “new_b” key3 “b” key2 已经存在,所以操作失败(integer) 0 EXISTS key3因为命令是原子性的,所以key3 没有被设置(integer) 0 MGET key1 key2 key3 # key2没有被修改1) “a”2) “b”3) (nil) GET key3(nil)18APPEND APPEND key valueAPPEND 命令的基本语法如下如果 key 已经存在并且是一个字符串,那么可以通过 APPEND 将 value 追加到key 关联的值后面。如果key 不存在,就简单地将k
12、ey设为value, 就像执行 SET key value一样返回值:追加value 之后,key 中字符串的长度。19APPEND实例1:对不存在的key 执行 APPEND 命令实例2:对己存在的key 执行 APPEND 命令。 EXISTS myphone #确保myphone 不存在(integer) 0 APPEND myphone huawei 对不存在的key执行 APPEND 命令,等同于 Sermyphone huawei(integer) 6宇符串的长度 APPEND myphone p20(integer) 10 #长度从6个宇符增加到10个字符GET myphone
13、#查看整个字符串Huawei p20 20GETRANGE GETRANGE key start endGETRANGE命令的基本语法如下GETRANGE用于获取指定key中字符串值的子字符串,子字符串的截取范围由start和end两个偏移量决定(包括start和end在内)。负数偏移量表示从字符串的最后开始计数,-1表示字符串中最后一个字符,-2 表示字符串中倒数第二个字符,其他负数依此类推。返回值:截取的子字符串。21GETGET命令的基本语法如下 GET key返回key所关联的字符串值。如果key不存在则返回特殊值nil。假如key储存的值不是字符串类型,会返回一个错误,因为GET命令
14、只能用于处理字符串值。返回值:key的值。如果key不存在,返回nil。实例如下:获取一个库中已存在的键phone,可以得到它对应的value127.0.0.1:6379 SET phone huawei p20OK127.0.0.1:6379 GET phonehuawei p20获取一个库中不存在的键phone2,那么它会返回一个nil,表示没有这个键值对127.0.0.1:6379 GET phone2(nil)22MGETMGET命令的基本语法如下 MGET key key .返回一个或多个给定key的值。如果某个指定key不存在,那么返回特殊值nil。因此,该命令永远不会执行失败。返
15、回值:一个包含所有给定key的值的列表。实例如下:#用MSET一次储存多个值127.0.0.1:6379 MSET name xinping age 25OK127.0.0.1:6379 MGET name age1) xinping2) 25127.0.0.1:6379 EXISTS fake_key(integer) 0# 当MGET中有不存在key的情况127.0.0.1:6379 MGET name fake_key1) xinping2) (nil)23GETRANGEGETRANGE命令的基本语法如下 GETRANGE key start end获取指定key中字符串值的子字符串,
16、字符串的截取范围由start和end两个偏移量决定(包括start和end在内)。负数偏移量表示从字符串的后面开始计数,-1表示字符串中最后一个字符,-2表示字符串中最后第二个字符,其它负数以此类推。返回值:截取得出的子字符串。24GETRANGE实例如下 SET email OK GET email ” GETRANGE email 0 7 xpws2006# GETRANGE email07截取子字符串的索引是07,包括0和7。截取子字符串-7-1,包括-7 和-1。127.0.0.1:6379 GETRANGE email -7 -# 截取子字符串从第一个字符到最后一个字符。127.0.
17、0.1:6379 GETRANGE enail 0 -1”# GETRANGE的取值范围不超过实际字符串长度,超过部分会被忽略。127.0.0.1:6379 GETRANGE email 0 199xpws2006163. com25GETSET GETSET key valueGETSET命令的基本语法如下。GETSET用于将key的值设为value,并返回key的旧值。返回值:返回key的旧值。当key没有旧值时,返回nil。26GETSET实例如下 SET name xinpingOK GET namexinping#name对应的值被更新,旧值被返回 GETSET nane xinpi
18、ng_ newxinping GET namexinping_nev接下来看一看,如果key不存在,那么使用GETSET会返回什么值? EXISTS name1(integer) 0 GETSET name1 xinping(nil)GET name 1xinping因为 namel 之前不存在,没有旧值,所以返回nil。GESET可以和INCR合使用,实现个有原子性复位操作功能的计数器(counter)。可以用GETSET mycount 0来实现这一目标。127.0.0.1:6379 INCR mycount(integer) 1#一个原子操作内完成GET mycount和GETSET m
19、ycount 0127.0.0.1:6379 GETSET mycount 0”1”127.0.0.1:6379 GET mycount 027STRLEN STRLEN key STRLEN命令的基本语法如下。 STRLEN用于返回 key 所存储的字符串的长度。 返回值:字符串的长度。当key 不存在时,返回0。28STRLEN 实例1:获取key存储的字符串,hello word的长度实例2:当key不存在时,它获取的字符串长度为0 SET key “hello word” OK STRLEN key(integer) 11 STRLEN nonexisting(integer) 029
20、 DECR DECR keyDECR命令的基本语法如下。DECR用于将key 中存储的数值减1。如果key不存在,则以0为 key 的初始值,然后执 行DECR俞令,设置key 对应的值为-1。返回值:执行DECR命令之后key 的值。30 DECR 实例1:对存在的key 执行DECR 命令。实例2:对不存在的key执行DECR命令。 SET age 23 OK DECR age(integer) 22 SET name xinpingOK DECR company(error) ERR value is not an integer or out of range实例3:对存在但不是数值的
21、key执行DECR命令。 EXTSTS count(integer) 0 DECR count(integer) -131DECRBY DECRBY key decrementDECRBY命令的基本语法如下。DECRBY用于将key所存储的值减去减量decrement,也就是指定数值。如果key不存在,则以0为key的初始值,然后执行DECRBY命令。返回值:减去减量之后key的值。32DECRBY实例1:对存在的key执行DECRBY命令。实例2:对不存在的key执行DECRBY命令。 SET count 100OK DECRBY count 20(integer) 80也可以通过INCRB
22、Y一个负值来实现同样的效果。 GET count80 INCRBY count -20(integer) 60 GET count60 EXISTS pages(integer) 0 DECRBY pages 10(integer) -1033 INCR INCR keyINCR命令的基本语法如下。INCR用于将key中存储的数值增1.如果key不存在,则以0为key的初始值,然后执行INCR命令,设置key为1。返回值:执行INCR命令之后key的值。34 INCR实例如下。 SET age 20OK INCR age(integer) 21 GET age21数值在Redis中以字符串的形
23、式保存。35INCRBY INCRBY key incrementINCRBY命令的基本语法如下。INCRBY用于将key所存储的值加上增量increment。如果key不存在,则以0为key的初始值,然后执行INCRBY命令。返回值:加上增量之后key的值。36 DECR实例1: key 存在且是数字。实例2: key 不存在。 SET age 21 # 设置age为21OK INCRBY age 5 # 给age加上5(integer) 26 GET age26 SET book how to master redisOK INCRBY book 100(error) ERR value
24、is not an integer or out of range实例3: key 不是数字,那么返回一个错误。 EXISTS counter(integer) 0 INCRBY counter 30(integer) 30 GET counter30内容导航:2.2 Hash类型2.3 List类型2.4 Set类型第2章 Redis常用数据类型及命令主讲:XXX 主审:XXX2.5 Sorted Set类型2.6 Redis HyperLogLog2.1 String类型38HashHash Redis 的 Hash类型是一个 String 类型的域(field)和value 的映射表,
25、Hash类型特别适 用于存储对象,例如Username、 Pssword 和Age等。 Redis 中的每个 Hash 类型数据都可以存储2*321个field-value对。39HSET HSET key field value HSET命令的基本语法如下。 HSET用于将散列表key 中的fied 的值设置为 vlue。 返回值:如果散列表key 中的 field不存在并且设置成功,则返回1;如果散列表key中的 field 己经存在并且新值覆盖了旧值,则返回 0。40HSET实例如下。127.0.0.1:6379 HET user name 创建一个新域xinping(integer)
26、1127.0.0.1:6379 HSET user name 覆盖一个旧域wangwu(integer) 041HSETNX HSETNX key field valueHSETNX 命令的基本语法如下。HSETNX 用于将散列表 key 中的field 的值设置为 value。如果key 不存在,那么一个新散列表将被创建并执行 HSETNX 命令,先创建 key。NX是Not Exist 的意思。如果 field 己经存在,则返回0,该命令无效。返回值:如果设置field 成功,则返回1:如果 field 己经存在,则返回0。42HSETNX实例如下。127.0.0.1:6379 HSETN
27、X nosq1 nameredis(integer) 1127.0.0.1:6379 HSETNX nosql name redis 命令无效,name已存在(integer) 043HMSET HMSET key field value field value .HMSET 命令的基本语法如下。HMSET 用于同时将多个field-value 对设置到散列表 key 中,此命令会覆盖散列表中已存在的field。返回值:如果命令执行成功,则返回 OK。44HMSET实例1:将多个field-value 对设置到散列表 key 中.实例2:将String 类型转为 Hash 类型时,会出现类型转
28、换错误。127.0.0.1:6379 HMSET website jd OK127.0.0.1:6379 HGET website 127.0.0.1:6379 HGET website 127.0.0.1:6379 SET user 20OK127.0.0.1:6379 HMSET user name wangwu age 21(error) WRONGTYPE Operation against a key holding the wrong kind of value45HGET HGET key fieldHGET 命令的基本语法如下。HGET 用于返回散列表key 中field 的值
29、。返回值:field 的值。当field 不存在或是key 不存在时,返回 nil.46HGET实例如下。127.0.0.1:6379 HMSET user name xinping age 25OK127.0.0.1:6379 GET user namexinping127.0.0.1:6379 GET user age25127.0.0.1:6379 HET user address(nil)由于散列表 key 中没有address,因此取到的是 nil。47HMGET HMGET key field field . HMGET 命令的基本语法如下。HMGET 用于返回散列表 key 中一
30、个或多个field 的值。返回值:一个或多个给定field 的值。48HMGET实例如下。127.0.0.1:6379 HMSET pet dog wangwang cat miaomiao #一次在散列表中保存多个值OK127.0.0.1:6379 HMGET pet dog cat fake_pet #返回值的顺序和传入参数的顺序一样1) wangwang2) miaomiao3) (nil)由于散列表 key 中没有fake_pet,因此取到的是 nil。49HGETALL HGETALL keyHGETALL 命令的基本语法如下。HGETALL 用于返回散列表 key 中所有的域和值。
31、在返回值里,紧跟每个域名(Field Name)之后的是域的值,所以返回值的长度是散列表长度的两倍。返回值,以列表形式返回散列表 key 的域和值。若key 不存在,则返回空列表 (Empty List)50HGETALL实例如下。127.0.0.1:6379 HSET hash _name jd (integer) 1127.0.0.1:6379 HET hash _name taobao (integer) 1127.0.0.1:6379 HGETALL hash_name1) jd 域2) 值3) taobao 域4) 值51HDEL HDEL key field field .HDEL
32、 命令的基本语法如下。HIDEL 用于州除散列表key 中的一个或多个field,不存在的field 将被忽略。返回值:被成功删除的 field 的数量。52HDEL实例如下设置散列表的测试数据127.0.0.1:6379 HMSET abbr a apple b banana c cat d dogOK127.0.0.1:6379 HGETALL abbr1) a2) apple3) b4) banana5) c6) cat7) d8) dog删除单个 field127.0.0.1:6379 HDEL abbr(integer) 1删除不存在的field127.0.0.1:6379 HDEL
33、 abbr not-exists-field(integer) 0删除多个field127.0.0.1:6379 HDEL abbr b c(integer) 2127.0.0.1:6379 HGETALL abbr1) d2) dog53HLEN HLEN keyHLEN 命令的基本语法如下。HLEN 用于返回散列表key 中field 的数量。返回值:散列表key 中field 的数量。当key 不存在时,返回0。54HLEN实例如下。127.0.0.1:6379 HSET user name xinping(integer) 1127.0.0.1:6379 HSET user age 2
34、5(integer) 1127.0.0.1:6379 HLEN user(integer) 255HEXISTS HEXISTS key fieldHEXISTS 命令的基本语法如下。HEXISTS 用于查看散列表key 中field 是否存在。返回值:查看散列表key 中,ficeld 如果存在则返回 1,如果不存在则返回0。56HLEN实例如下。127.0.0.1:6379 HEXISTS phone brand(integer) 0127.0.0.1:6379 HET phone brand xiaomi(integer) 1127.0.0.1:6379 HEXISTS phone br
35、and(integer) 157HINCRBY HINCRBY key field incrementHINCRBY 命令的基本语法如下。HINCRBY 用于将散列表 key 中的field 的值加上增量increment。增量 increment 可以是 负数,即对field 进行减法操作。返回值:执行 HINCRBY 命令之后,散列表key 中field 的值:58HINCRBY实例1:给指定的field 加上正数。实例2: key 不存在。127.0.0.1:6379 HEXISTS page counter(integer) 0127.0.0.1:6379 HINCRBY page c
36、ounter 20(integer) 20127.0.0.1:6379 HGET page counter20127.0.0.1:6379 HSET user name xinping 对field设定一个宇符串值(integer) 1127.0.0.1:6379 GET user name 命令执行失败,错误xinping 127.0.0.1:6379 HINCRBY user name 1(error) ERR hash value is not an integer 127.0.0.1:6379 GET user name 原值不变yinping实例3:尝试对字符串值的field 执行
37、HINCRBY 命令。127.0.0.1:6379 HET counter page_view200127.0.0.1:6379 HINCRBY counter page view -50(integer) 150127.0.0.1:6379 HET counter page_view15059HKEYS HKEYS keyHKEYS 命令的基本语法如下。HIKEYS 用于返回散列表 key 中的所有域。返回值:一个列表,该列表包含散列表 key 中的所有域。当 key 不存在时,返回一个空列表。60HLEN实例:返回散列表 key 中的所有域。127.0.0.1:6379 HMSET web
38、site jd OK127.0.0.1:6379 HEYS website1) jd2) taobao散列表 website 中有两个域。61HVALS HVALS keyHVALS 命令的基本语法如下。HVALS 用于返回散列表 key 中的所有值。返回值:当散列表 key 存在时,返回一个列表,该列表包含散列表 key 中的所有值;当散列表key 不存在时,返回一个空列表。62HVALS实例:返回散列表 key 中的所有值。127.0.0.1:6379 HMSET website jd taobao OK127.0.0.1:6379 HVALS website1)2)内容导航:2.2 Ha
39、sh类型2.3 List类型2.4 Set类型第2章 Redis常用数据类型及命令主讲:* 主审:*2.6 Redis HyperLogLog2.1 String类型2.5 Sorted Set类型64List 类型List 在Redis 中,List 类型是按照元素的插入顺序排序的字符串列表。在插入时,如果 key 并不存在,Redis 将为该key 创建一个新的列表。List 类型中可以包含的最大元素数量是 4294967295。65LPUSH PUSH key value value .LPUSH 命令的基本语法如下。LPUSH 用于将一个或多个value 插入列表 key 的表头,可以
40、作为栈,特点是先进后出。返回值:执行 LPUSH 命令后,列表key 的长度。66LPUSH实例:对空列表执行 LPUSH 命令。127.0.0.1:6379 DEL mykey 删除一个key为mykey 的列表(integer) 0127.0.0.1:6379 PUSH mykey a(integer) 1 127.0.0.1:6379 PUSH mykey b(integer) 2127.0.0.1:6379 PUSH mykey c(integer) 3127.0.0.1:6379 LPUSH mykey(integer) 4使用 LPUSI 将3个值插入名为mykey 的列表当中,也
41、可以一次插入多个值到列表,效果是一样的。127.0.0.1:6379 DEL mykey(integer)1127.0.0.1:6379 LPUSH mykey a b c d(integer)467LPUSHX PUSHX key valueLPUSHX 命令的基本语法如下。LPUSHX 用于将 value 插入key,key存在并且是一个列表。和LPUSH 命令相反,当key 不存在时,LPUSHX什么也不做。返回值:执行 LPUSHX 命令之后,列表key的长度。68LPUSHX实例1:对空列表执行 LPUSHX 命令。实例2:对非空列表执行 LPUSHX 命令。127.0.0.1:63
42、79 LLEN mylist #mylist 是一个空列表(integer) 0127.0.0.1:6379 LPUSHX mylist 1 尝试执行 IPUSEX 命令,失败,因为列表为空(integer) 0127.0.0.1:6379 PUSH mylist 1 先用工BUSH 创建一个有一个元素的列表(integer) 1127.0.0.1:6379 LPUSHX mylist 2 这次IPUSHX 命令执行成功(integer) 2127.0.0.1:6379 RANGE mylist 0 -11) 22) 169 RUSH key value value .RPUSH 命令的基本语
43、法如下。RPUSH 用于将一个或多个value 插入列表 key 的表尾,可以作为队列,特点是先进先出。返回值:执行 RPUSH 命令后,列表key 的长度。RPUSH70RPUSH实例如下。删除已经存在的key (mylist)127.0.0.1:6379 DEL mylist(integer) 1# 添加单个元素127.0.0.1:6379 RPUSH mylist 1(integer) 1 添加重复元素127.0.0.1:6379 RPUSH mylist 2(integer) 2列表允许重复元素127.0.0.1:6379 LRANGE mylist 0 -11) “11”2) “12
44、”#添加多个元素127.0.0.1:6379 LPUSH mylist a b c(integer) 5127.0.0.1:6379 LRANGE mylist 0 -11) c2) b3) a4) 1 5) 271 RPUSHX key valueRPUSHX 命令的基本语法如下。RPUSHX 用于将value 插入列表 key 的表尾,并且列表 key 存在。和 RPUSH 相反,当key 不存在时,RPUSHX 什么也不做。RPUSHX72RPUSHX实例1:key 不存在。实例2:key 存在且是一个非空列表。127.0.0.1:6379 LLEN greet(integer) 012
45、7.0.0.1:6379 RPUSHX greet he11o 对不存在的key执行 RPUSHX 命令,失败(integer) 0127.0.0.1:6379 RPUSH greet hi 先用RPUSH 插入一个元素(integer) 1127.0.0.1:6379 RPUSHX greet hello # greet 现在是一个列表类型,执行 RPUSHX 命令成功(integer) 2127.0.0.1:6379 LRANGE greet 0 -11) hi2) hello73 LPOP keyLPOP 命令的基本语法如下。LPOP 用于从列表 key 的头部删除元素,并返回州除元素。
46、返回值:列表key 的头元素。当key 不存在时,返回nil。LPOP74LPOP实例如下。127.0.0.1:6379 LLEN course(integer) 0127.0.0.1:6379 RPUSH course java(integer) 1127.0.0.1:6379 RPUSH course python(integer) 2127.0.0.1:6379 LRANGE course -11) java2) python删除列表的头元素127.0.0.1:6379 LPOP coursejava127.0.0.1:6379 LRANGE course 0 -11) python75
47、RPOP RPOP keyRPOP 命令的基本语法如下。从list的尾部删除元素,并返回删除元素返回值: 列表的尾元素。 当key不存在时,返回nil。76RPOP实例如下。127.0.0.1:6379 LLEN mylist(integer) 0127.0.0.1:6379 RPUSH mylist one(integer) 1127.0.0.1:6379 RPUSH mylist two(integer) 2127.0.0.1:6379 RPUSH mylist three(integer) 3# 返回被弹出的元素127.0.0.1:6379 RPOP mylist three# 列表剩下
48、的元素127.0.0.1:6379 LRANGE mylist 0 -1 1) one2) two77 LLEN keyLLEN 命令的基本语法如下。LLEN 用于返回列表key 的长度。如果 key 不存在,则key 被解释为一个空列表,返回 0。如果key 不是 List 类型,返回一个错误。返回值:列表 key 的长度。实例:返回非空列表的长度。LLEN78LLEN实例如下。127.0.0.1:6379 LPUSH course java(integer) 1127.0.0.1:6379 LPUSH course python(integer) 2127.0.0.1:6379 LLEN
49、course(integer)279LREM REM key count valueLREM命令的基本语法如下。IREM 用于从列表 key 中删除count 个和value 相等的元素。count 的值可以是以下几种。count0:从列表的表头开始向表尾遍历,删除与value 相等的元素,数量为 count。count LPUSH greet hello(integer) 2127.0.0.1:6379 LPUSH greet morning(integer) 3127.0.0.1:6379 LPUSH greet hello(integer) 4127.0.0.1:6379 LPUSH greet morning(integer) 5#查看所有元素127.0.0.1:6379 LRANGE greet 0 41) morning2) hello3) morning4) hello5) morning 删除从表头到表尾最先发现的两个morning127.0.0.1:6379 LREM greet 2 morning(integer) 2两个元素被删除 还剩3个元素127.0.0.1:6379 LLEN greet(integer) 3127.0.0.1:6379 LRANGE greet 0 21)hello2) hello3) morningcount LLEN greet(
限制150内