redis
文章平均质量分 60
redis相关
小哇牛
我是一只小小小哇牛
展开
-
Redis系统学习-应用-位图
概念了解 我们日常开发过程中,要尽量简化业务模型,使用最少的内存,描述事物,程序就是通过各种数据的操作、传输,来模拟现实生活中的人与人之间的操作。从而简化生活,提升工作效率,品质。 比如某个签到活动,每周一开始,周末晚结算这周签到的天数来发送奖励。这种具有过期性的数据,并且只有个住居简单,只有个状态位,可采用redis的位图来解决。 位图是基于String上的运用,我们可以使用普通的 get/se...翻译 2019-02-20 16:47:54 · 248 阅读 · 0 评论 -
Redis系统学习-应用-队列
此处可分为,消息队列 和 延时队列 消息队列 项目中经常用到消息机制,MQ和kafka都很成熟了,所以某些专门的消息处理还是交给他们。 https://blog.csdn.net/qq_35873847/article/details/78737796 但是项目中有的只需要自己发自己收,实现异步处理,Redis也可以实现。基于List,当成队列使用。 此处有个问题,队列空了就会出现,无效的查询,...翻译 2019-02-20 15:47:34 · 112 阅读 · 0 评论 -
Redis系统学习-应用-分布式锁
为什么要分布式锁 企业应用都是集群的,多线程操作同一资源,单应用下,只需要synchronized即可,但是集群下,就不能简单synchronized,因为synchronized持有的是当前jvm下的对象锁。而集群多jvm无法互相锁定的,这个时候就需要一个局外人,第三方公平的持有一个锁,集群中每个应用都去到他那拿锁,拿到了才会执行资源操作。 涉及到的命令 我们在String中学习到了一个命令: ...翻译 2019-02-20 15:47:42 · 108 阅读 · 0 评论 -
Redis系统学习-set&&zset
SET 概念了解 Set和java的Set一致,key唯一 常用命令 set把他当java的set用就好了,就一个特性,key唯一,中奖一次校验? ZSET 概念了解 它类似于 Java 的 SortedSet 和 HashMap 的结合体,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。它的内部...翻译 2019-02-20 15:48:00 · 133 阅读 · 0 评论 -
Redis系统学习-Hash
概念理解 Redis 的字典相当于 Java 语言里面的 HashMap,它是无序字典。内部实现结构上同 Java 的 HashMap 也是一致的,同样的数组 + 链表二维结构。第一维 hash 的数组位置碰撞时,就会将碰撞的元素使用链表串接起来。 不同的是,Redis 的字典的值只能是字符串,另外它们 rehash 的方式不一样,因为 Java 的 HashMap 在字典很大时,rehash 是...翻译 2019-02-20 15:48:06 · 138 阅读 · 0 评论 -
Redis系统学习-List
概念了解 Redis 的列表相当于 Java 语言里面的 LinkedList(底层是不一样的,数据量少的话是ziplist(数据紧挨着,数据量大的了改成quicklist(ziplist 使用双向指针串起来使用))),注意它是链表而不是数组。这意味着 list 的插入和删除操作非常快,时间复杂度为 O(1),但是索引定位很慢,时间复杂度为 O(n)。 当列表弹出了最后一个元素之后,该数据结构自动...翻译 2019-02-20 15:48:18 · 81 阅读 · 0 评论 -
Redis系统学习-原理
redis为什么快 1.单线程-没有cpu上下文切换的开销。 2.所有数据都在内存中,所有的运算都是内存级别的。(cpu频率一致) 3.采用多路复用的方式,处理多并发客户端连接。 IO模型 和java的NIO一样* http://www.importnew.com/22623.html https://blog.csdn.net/u011381576/article/details/7987675...转载 2019-02-25 16:46:45 · 248 阅读 · 0 评论 -
Redis系统学习-String
概念了解 Redis的String相当于java的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配,从而提升效率。 (当字符串长度小于 1M 时,扩容都是加倍现有的空间,如果超过 1M,扩容时一次只会多扩 1M 的空间。需要注意的是字符串最大长度为 512M。) Redis 所有的数据结构都是以唯一的 key 字符串作为名称。 常用命令 单key set key value//插入...翻译 2019-02-20 15:47:51 · 140 阅读 · 0 评论 -
Redis系统学习-前序
为什么要学 Redis很重要。因为很强大,很多公司都会用,所以要学。 基础概念 作为一个缓存工具,需要自成一个世界,这个世界需要有基于“真实世界(OS)”的基本结构元素,及这个世界对外展示、元素传输的“空间虫洞(API)” 这个世界怎么产生的,需要人为安装,百度。 这个世界的基本构造元素: string (字符串) list (列表) set (集合) hash (哈希) zset (有序集合) ...翻译 2019-02-20 15:47:19 · 129 阅读 · 0 评论 -
Redis系统学习-其他应用
Redis很多应用都有其他更有的选择,统一放一起。 HyperLogLog HyperLogLog 提供不精确的去重计数方案,虽然不精确但是也不是非常不精确,标准误差是 0.81%。 老钱在《Redis深度历险:核心原理和应用实践》,用网站的uv来举例,但是我们日常项目中,除非小公司,一般的公司都会有BI部门,使用大数据(hbase hive nova)那一套专门处理pv,uv等数据,毕竟现在市场...翻译 2019-02-20 17:25:44 · 190 阅读 · 0 评论