设为首页 加入收藏

TOP

Redis-cluster集群【第一篇】:redis安装及redis数据类型(三)
2015-11-21 01:25:05 来源: 作者: 【 】 浏览:1
Tags:Redis-cluster 集群 第一篇 redis 安装 数据 类型
到网页上,通过排版取出来的值就好看了
192.168.0.201:6379> HMSET diannao name thinkpad co black price 30
OK
192.168.0.201:6379> HMGET diannao name co price
1) "thinkpad"
2) "black"
3) "30"
?4、列表类型
?
列表类型:他是存储一个有序的字符串列表 ? 这个“有序”是什么时候进来的!
?
?
列表你向左边添加和右边添加他的时间复杂度是一样的!O1(时间复杂度)
可以理解为:我这个速度不随着数量的增加而增加!比如1000行和1万行他的时间开销是一样的! ? ?大学数据结构里学的
?
时间复杂度:
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。
计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。
?
但是他有个缺点,比如说里面有1万个key你想找到第98个这就费老劲了他从1开始数数到98
? ? ? ? ? ? ? ? 优点,你读前100个,卡直接读头部就非常快了
?
?
命令:
LPUSH key value [value ...]
RPUSH key value [value ...]
? ? ? ? ? ? ? ?LPOP key
? ? ? ? ? ? ? ?RPOP key
? ? ?LRANGE key start stop
? ? ?LREM key count value
4.1、
从左边添加key
192.168.0.201:6379> LPUSH num 0
(integer) 1
192.168.0.201:6379> LPUSH num 1
(integer) 2
192.168.0.201:6379> LPUSH num 2
(integer) 3
?
现在是从左边加
2 ?1 ? 0
?
从右边开始加
192.168.0.201:6379> RPUSH num 3
(integer) 4
2 ?1 ? 0 ?3
?
192.168.0.201:6379> RPUSH num 5
(integer) 5
?
2 ?1 ?0 ?3 ?5 ?5
?
?
如果想获取长度就使用LNE 吗!获取列表类型长度就是:LLEN
192.168.0.201:6379> LLEN num
(integer) 5
?
4.2、从左边拿key
从列表类型里拿出这个key来(拿出来就没有了),从左边拿左边第一个
192.168.0.201:6379> LPOP num
"2"
?
左边第一个是2那么拿出来之后这个key这个key就变成
1 ?0 ?3 ?5
?
从右边拿key,从右边拿右边第一个 ? (这个5就被拿出来了)
192.168.0.201:6379> RPOP num
"5"
?
现在在看下这个key的长度
192.168.0.201:6379> LLEN num
(integer) 3
?
4.3、
获取列表的某一个范围:
现在是这个值
1 ?0 ?3
?
192.168.0.201:6379> LRANGE num 0 1 ? ? ? ? ? ? ?#取0 - 1 的值
1) "1"
2) "0"
?
###这个列表和python中列表中差不多,0 -1 相当于列表中的下标。
?
192.168.0.201:6379> LPUSH num 2
(integer) 4
192.168.0.201:6379> RPUSH num 4
(integer) 5
?
?
192.168.0.201:6379> LRANGE num 0 -1 ? ? #这里的(-1)表示左边第一个
1) "2"
2) "1"
3) "0"
4) "3"
5) "4"
?
?
4.4、获取指定元素的值
?
获取右边的第一个值:
192.168.0.201:6379> LINDEX num -1
"4"
获取左边边的第二个值:
192.168.0.201:6379> LINDEX num -2
"3"
?
那-3呢?
192.168.0.201:6379> LINDEX num -3
"0"
这个就是从右边数的第3个值!!!!!
?
从左边获取值
192.168.0.201:6379> LINDEX num 0
"2"
192.168.0.201:6379> LINDEX num 1
"1"
?
他是两边的第一次接触有点乱!他是两边的需要注意!!!
?
4.5、只保留指定数据
?
只保留0到2的数据
192.168.0.201:6379> LTRIM num 0 2
OK
?
看下结果:
192.168.0.201:6379> LRANGE num 0 -1
1) "2"
2) "1"
3) "0"
?
这个有什么用呢:
?
写日志的时候,我这个缓冲区,只保留最近100条日志!
比如:
192.168.0.201:6379> LPUSH logs newloghehe
(integer) 1
?
192.168.0.201:6379> LTRIM num 0 99
OK
?
这样的话我的列表永远只有100条,我只看最近100条的日志!!
?
5、集合类型
?
集合是高一学的,第一个学期就是学的集合
交集∩、并集∪、合集、等 0 0 !
?
集合的元素是没有类型的!
用到集合类型的应用有:(新浪微博分享了很多的redis应用)
比如:关注微博,比如咱俩是否共同关注了某一个人等。
?
5.1、
添加集合
192.168.0.201:6379> SADD jihe1 a b c
(integer) 3
?
5.2、
查看集合内容
192.168.0.201:6379> SMEMBERS jihe1
1) "c"
2) "a"
3) "b"
5.3、判断集合元素是否存在
192.168.0.201:6379> SISMEMBER jihe1 d
(integer) 0
192.168.0.201:6379> SISMEMBER jihe1 a
(integer) 1
返回0 说明不存在返回1说明存存在
?
5.4、集合间运算
支持:交集、差集、并集
?
差集运算:
192.168.0.201:6379> SDIFF jihe1 jihe2
1) "a"
jihe1abcjihe2b cd
?
jihe1 减去jihe2 减去相同的b c ?, ?jihe1 还剩下a
?
同理:
jihe2 减去jihe1
192.168.0.201:6379> SDIFF jihe2 jihe1
1) "d"
?
差集运算可以设置多个
?
交集运算:
?192.168.0.201:6379>
首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql分表和表分区详解 下一篇Redis-cluster集群【第二篇】:re..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: