![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库及缓存系列
Huangy远
github地址 https://github.com/yellowFarLu
展开
-
MySQL——锁(全面总结)
锁 锁机制用于管理对共享资源的并发访问。 lock和latch 在数据库中,lock和Latch都称为锁,但是两者意义不同。 latch称为闩锁(shuang suo),其要求锁定的时间必须非常短。若持续的时间长,则应用的性能会非常差。在InnoDB存储引擎中,latch又分为mutex互斥锁 和 rwLock读写锁。其目的是为了保证并发线程操作临界资源的正确性。通常没有死锁的检测机制。 lo...原创 2020-02-17 22:15:13 · 283 阅读 · 0 评论 -
聊聊一致性hash算法
一致性hash算法 在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。 场景描述 假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务...原创 2020-02-14 10:31:56 · 2869 阅读 · 0 评论 -
Redis数据结构总结
Redis数据结构总结 字符串(string) 字符串 string 是 Redis 最简单的数据结构。Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据。不同类型的数据结构的差异就在于 value 的结构不一样。 字符串结构使用非常广泛,一个常见的用途就是缓存用户信息。我们将用户信息结构体使用 JSON 序列化成字符串,然...原创 2019-12-26 14:50:45 · 201 阅读 · 0 评论 -
缓存和DB中数据一致性
缓存和DB中数据一致性 淘汰还是更新 一般来说,是淘汰。 一般来说,修改的成本会高于淘汰的成本 修改的话,假如存的是json字符串,需要先将数据反序列化,然后修改数据,然后序列化,再存入redis。修改的代价高,但是少一次cache miss 淘汰的话,就将数据置为无效,但是多一次cache miss 修改缓存,在并发写的时候,可能出现数据不一致 比如说请求1 先写数据库,然后请求2写数...原创 2019-12-26 14:44:37 · 241 阅读 · 0 评论