Redis笔记整理3
来源:互联网 发布:监控数据恢复多少钱 编辑:程序博客网 时间:2024/05/03 04:29
一、Redis的lists
1.基本含义。
list在redis中是指linked list而非array,linked list有一个好处就是不管list中的数量,在list的head和tail插入一个元素的时间是一样的。list查找中间元素的速度是比较慢的,而sorted sets则比较快。
2.简单操作:
增:lpush rpush 删: lpop rpop ltrim rtrim 查:lrange
3.应用场景
记录最新的一些文章或者评论啥的。
基于生产者消费者模式的进程间通讯。
4.list的阻塞
有一种情况,基于生产者消费者模式的list,当消费者没有东西可以消费,那么这个时候会采用polling(轮询)的方式进行重新消费,即隔一会儿pop一下取数据,灾难来了,轮询间隔长,那么会有延时,轮询太短,那么会有很多没用的请求执行。 这个 时候阻塞list的命令来了,brpop和blpop,当list为空时阻塞。
5.list的创建和空的list的删除。
所有的aggregate data type的操作都一样,lists,sets,sorted sets,hashes,都是当集合中要添加元素时创建,当集合中元素为空时删除,查看集合元素或者删除时返回的结果就好像是真的有一个对应key的集合存在。原文如下:
二、Redis中的hashes.
1.命令:
hmset hmget hgetall hset hget hgetall
2.含义:
感觉hash像是java中的一个有不同field的Object,或者一个JSON对象,也像是mysql数据库里的一条记录。
3.demo:
我们可以通过设置不同的key值,实现一个类似于表的结构,例如author:1 ,author:2,author:3 。
4.hash这种结构在内存中是非常高效的。
三、Redis中的Set
1.含义
存储无序的strings集合。
2.操作
有插入,联合,找不不同,去一个随机的元素。
增:sadd sunionstore 查:smembers sismember sinter scard srandmember 删:spop
四、Redis中的Sorted Sets
1.含义
Sorted Sets在结构上像是Set和Hash的混合体,其中的每个元素都有一个floating point value叫做score。他是有序的,他 的顺序首先是由score决定,如果score相同,那么由元素内容的lexicographical 决定。
2.操作
增:zadd
查:zrange zrangebyscore zremrangebyscore zrank zremrank zrangebylex
3.
五、Redis中的bitmap
1.bitmap不是个真的数据结构,而是基于针对string的位操作的一个set。string可以512M那么占用的位,512*1024*1024*8=2的32次方个bits.(40个亿)
2.操作:
位操作分为两种:固定时间的单个bit操作 和 针对一组bit的操作。
3.优势
可以做到极限使用空间。一个string可以存储40个亿的bit。例如:512M的内存可以记录40个亿用户的性别。
应用场景:各种实时的分析。存储高校利用空间的boolean值。
4.
六、Redis中的HyperLogLogs
直接贴:
这种HLL结构是用来记录特殊的事务的个数。sets中元素个数的计算,需要用到与元素个数成正比的内存,而用hll可以只用一个常量的空间,最大占用空间为12K.如何做到的?是因为它实际上存储的是一种关于元素的state.
0 0
- Redis笔记整理3
- redis学习笔记整理
- Redis自学笔记整理
- redis学习笔记整理
- redis笔记整理1
- Redis笔记整理2
- redis学习笔记整理
- redis 学习整理笔记
- Redis笔记整理01
- Redis学习笔记整理
- redis 学习笔记整理
- redis学习笔记整理
- Redis学习笔记整理
- Redis笔记整理2 --Redis数据类型
- 【Redis笔记-3】Redis数据类型
- redis 整理
- redis整理
- redis整理
- 数学之美番外篇:平凡而又神奇的贝叶斯方法
- Cocos2d-x 3.0 Windows下Android环境搭建
- 社群粉丝经济-引爆小米的两次QQ空间
- Lua笔记:Lua字符串分隔方法
- Scala 学习笔记(5)-流程控制语句
- Redis笔记整理3
- http 错误代码表
- cocos3.0 从main.lua开始
- AndroidManifest.xml文件详解(uses-feature)
- Python实战之Oracle数据库操作
- xampp修改密码
- 交付程序给别人看,展示劳动成果
- 利用Java编写简单的WebService实例
- UI控件 UIPageController ,控制页数