![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
主要记录Redis学习
转身已离去
毕业于江南大学,目前工作4年,主要从事于大数据开发和Java服务开发
展开
-
分布式锁
1.为何需要分布式锁 主要两个场景: 1)避免不同节点重复相同的工作:比如用户执行了某个操作有可能不同节点会发送多封邮件 2)避免披怀数据的正确性:如果两个节点在同一条数据上同时进行操作,可能会造成数据错误或不一致的情况出现 2.Java中实现的常见方法 1)基于Mysql中的锁:Mysql本身有自带的悲观锁for update关键字,也可以自己实现悲观/乐观锁来达到目的; 2)基于Z...转载 2020-04-26 21:40:04 · 77 阅读 · 0 评论 -
Redis-跳跃表
为什么选择跳表 经常使用的平衡数据结构有:B树,红黑树,AV树,Splay Tree,Treep等 有序表的搜索 考虑一个有序表: 从该有序表中搜索元素 < 23, 43, 59 > ,需要比较的次数分别为 < 2, 4, 6 >,总共比较的次数为 2 + 4 + 6 = 12 次。把一些节点提取出来,作为索引,得到如下结构: 这里我们把 < 14,...转载 2020-04-26 21:21:58 · 200 阅读 · 0 评论 -
Redis总结
1.为什么要用redis/为什么用缓存 1)高性能 第一次访问数据库的数据,非常慢,因为从磁盘上读,将用户访问的数据存在缓存中,这样可以直接从缓存中获取了,操作缓存就是直接操作内存,所以速度相当快。 2)高并发 直接操作缓存能够成熟的请求远远大于直接访问数据库,所以把数据库中部分数据转移到缓存中。 2.为什么要用redis而不用map/guava做缓存? 缓存分...原创 2020-04-25 21:16:30 · 126 阅读 · 0 评论