企业网站建设开题报告,网页设计与网站建设全攻略pdf,短视频投放方案,代刷网网站怎么做一、list#xff08;列表#xff09;
list#xff08;列表#xff09;是简单的字符串列表#xff0c;按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。List本质是个链表#xff0c; list是一个双向链表#xff0c;其元素是有序的#xff0c;元…一、list列表
list列表是简单的字符串列表按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。List本质是个链表 list是一个双向链表其元素是有序的元素的值可以重复。假设头在左边尾在右边则list支持从头插入从尾插入从头删除从尾删除但遍历只支持从头遍历即从左遍历。从头插入从尾插入的算法和链表的头插法尾插法一样。list的结构如下图 在图中c,b,a是从左边插入的插入顺序为a,b,c而d,e是从右边插入的插入顺序为d,e但无论从哪边插入连接方向总是从左到右遍历方向也是从左到右。 理解了list的结构理解其操作就容易多了如下表。
命令介绍LPUSH key value [value ...]向列表的左侧头部插入一个或多个值。如果 key 不存在则会创建一个空列表再执行插入操作。返回列表的长度。RPUSH key value [value ...]向列表的右侧尾部插入一个或多个值。如果 key 不存在则会创建一个空列表再执行插入操作。返回列表的长度。LRANGE key start stop获取列表指定范围内的元素start 和 stop 为索引从 0 开始。可以使用负索引来表示倒数位置例如-1 表示列表的最后一个元素。LPOP key移除并返回列表的第一个元素最左侧。如果列表为空则返回 nil。RPOP key移除并返回列表的最后一个元素最右侧。如果列表为空则返回 nil。LLEN key返回列表的长度。如果 key 不存在返回 0。如果 key 对应的不是列表类型会返回错误。DEL key删除指定的列表或其他类型的 key 及其所有值。成功删除返回 1如果 key 不存在则返回 0。
实例
127.0.0.1:6379 lpush herolist aaa bbb ccc
(integer) 3
127.0.0.1:6379 lrange herolist 0 -1
1) ccc
2) bbb
3) aaa
127.0.0.1:6379 rpush herolist ddd eee
(integer) 5
127.0.0.1:6379 lrange herolist 0 -1
1) ccc
2) bbb
3) aaa
4) ddd
5) eee
127.0.0.1:6379 lpop herolist
ccc
127.0.0.1:6379 lrange herolist 0 -1
1) bbb
2) aaa
3) ddd
4) eee
127.0.0.1:6379 rpop herolist
eee
127.0.0.1:6379 lrange herolist 0 -1
1) bbb
2) aaa
3) ddd
127.0.0.1:6379 del herolist
(integer) 1
127.0.0.1:6379 lrange herolist 0 -1
(empty list or set)
127.0.0.1:6379 llen herolist
(integer) 0
127.0.0.1:6379 lpush herolist aa bb cc dd
(integer) 4
127.0.0.1:6379 llen herolist
(integer) 4练习 用list存放中国四大名著并完成CRUD 参考答案
127.0.0.1:6379 lpush books hlm sgyy xyj shz
(integer) 4
127.0.0.1:6379 lrange books 0 -1
1) shz
2) xyj
3) sgyy
4) hlm
127.0.0.1:6379 lset books 1 xyj2
OK
127.0.0.1:6379 lrange books 0 -1
1) shz
2) xyj2
3) sgyy
4) hlm
127.0.0.1:6379 lrem books 1 sgyy
(integer) 1
127.0.0.1:6379 lrange books 0 -1
1) shz
2) xyj2
3) hlm其中lset key index value的index从0开始lrem key count value的count是指定要删除几次匹配到的元素value1表示删除首次匹配到的value0表示删除所有value-1表示从列表的右侧开始删除删除首次匹配到的value。
二、set集合
Set是string类型的无序集合。底层是HashTable数据结构Set也是存放很多字符串元素字符串元素是无序的而且元素的值不能重复
命令介绍SADD key member [member ...]将一个或多个成员添加到集合中。如果成员已经存在则忽略。如果 key 不存在会创建一个新的集合。返回成功添加的成员数量。SMEMBERS key返回集合中的所有成员。如果 key 不存在则返回空集合。SISMEMBER key member判断指定的成员是否在集合中。如果存在则返回 1否则返回 0。SREM key member [member ...]移除集合中的一个或多个成员返回成功移除的成员数量。如果成员不存在则忽略。
实例
127.0.0.1:6379 sadd emails tomsohu.com jackqq.com
(integer) 2
127.0.0.1:6379 smembers emails
1) jackqq.com
2) tomsohu.com
127.0.0.1:6379 sadd emails kkyy.com yysohu.com
(integer) 2
127.0.0.1:6379 smembers emails
1) yysohu.com
2) kkyy.com
3) jackqq.com
4) tomsohu.com
127.0.0.1:6379 sadd emails kkyy.com yysohu.com
(integer) 0
127.0.0.1:6379 sismember emails tomsohu.com
(integer) 1
127.0.0.1:6379 sismember emails tomsohu1.com
(integer) 0
127.0.0.1:6379 srem emails tomsohu.com
(integer) 1
127.0.0.1:6379 smembers emails
1) jackqq.com
2) yysohu.com
3) kkyy.com练习 用set存放一个商品的名字价格生产日期 参考答案
127.0.0.1:6379 sadd product name price date
(integer) 3
127.0.0.1:6379 smembers product
1) price
2) name
3) date
127.0.0.1:6379 sismember product name
(integer) 1
127.0.0.1:6379 srem product name
(integer) 1
127.0.0.1:6379 smembers product
1) price
2) date
127.0.0.1:6379 sadd product name02
(integer) 1
127.0.0.1:6379 smembers product
1) price
2) name02
3) date其中修改操作是通过saddsrem完成的。 至于有序集合也比较简单读者可自行查阅练习。