缓存系统
文章平均质量分 69
还是转转
这个作者很懒,什么都没留下…
展开
-
本地缓存
在分布式系统中,分布式缓存如redis,memcache使用比较多。实际上,本地缓存在很多场景下也有使用的必要。 本文主要介绍google的工具包guava中的缓存工具的使用。 本地缓存应用场景: (1)对性能有非常高的要求 (2)不经常变化或者存在热词 (3)可以接受数据的非实时性 本地缓存可以通过几种方式来实现:ConcurrentHashMap,Guava cache或Ehcached。这里说说Guava cache的使用。 其特性如下: 使用LRU缓存过期机制 并发处理能力:类似于Concurr原创 2021-01-06 16:54:14 · 483 阅读 · 0 评论 -
布隆过滤器
在之前的分布式缓存一文中,提到过缓存穿透一个解决方案是布隆过滤器。本文将对布隆过滤器进行一个详细的介绍。 布隆过滤器原理 布隆过滤器(BloomFilter)实际上是一种数据结构,包括一个很长的二进制向量和一系列随机映射函数。主要用于检索一个元素是否在一个集合中。 优点是空间效率和查询时间效率都很高,缺点是有一定的误判率,并且不支持元素删除。 在布隆过滤器的内部,维护了一个位数组bitArray。开始时所有的位都为0。 当插入一个元素时,通过多个哈希函数计算该元素的哈希值,在哈希值对应的数组下标处,将0置原创 2020-10-31 22:24:30 · 116 阅读 · 0 评论 -
redis原理和使用-基本特性
上一篇blog中介绍了redis的分布式安装和集群方式,本文将介绍redis支持的数据结构,持久化方式和数据过期策略。 redis支持的数据结构 Redis支持的数据结构类型有:String(字符串),List(列表),Set(集合),Hash(哈希),Zset(有序集合)。 各种数据类型的操作如下: 增加 删除 查询 返回长度 String set或mset del get...原创 2020-05-05 17:39:52 · 261 阅读 · 0 评论 -
redis原理和使用-安装和分布式配置
在之前的blog中,介绍过redis分布式锁实现。在日程的工作中,redis也使用得非常频繁,包括缓存,分布式锁,消息队列等。本文将系统性地对redis做一个完整的介绍和总结。 Redis服务安装和远程访问 Redis安装网上教程很多,这里就不介绍了。 安装好之后可通过redis-server启动,通过客户端redis-cli进行访问,默认使用6379端口(本文环境为ubuntu+redis3....原创 2020-03-31 23:49:58 · 261 阅读 · 0 评论 -
分布式锁实现方式
在分布式系统中,数据的一致性是个重要的问题,为了实现数据一致性,需要很多技术方案来支持,比如分布式锁等。分布式锁又有多种实现方式,如数据库锁,redis分布式锁,还有zookeeper分布式锁。 这里介绍一下redis分布式锁的实现,直接看代码。 /** * 获取分布式锁 * * @param lockName 竞争获取锁key * @param acqui............原创 2017-07-20 15:27:22 · 450 阅读 · 0 评论 -
分布式缓存
概念分析 缓存击穿,既然能击穿,说明是有缓存的,只是在某个时间点没有从缓存中获取到数据,例如缓存过期,此时需要到数据库中查询。如果并发量很小,那没什么问题。而如果并发量很大的情况下,例如对“热点”数据的查询,大量的请求同时涌入到数据库,会给数据库带来巨大的压力,甚至引起性能问题。 缓存穿透,就要查询的数据是不存在的,这样每次查询均需要走到数据库中,并且返回空。如果被人利用,很可能会对数据库造成影响...原创 2019-02-21 20:31:07 · 230 阅读 · 0 评论