缓存
坚强一点
这个作者很懒,什么都没留下…
展开
-
redis 中 set 和 hset 有什么不同,什么时候使用 hset 什么时候使用set?
redis 中存数据时,到底什么时候用 hset 相比于 set 存数据时又有什么不一样?set 就是普通的已key-value 方式存储数据,可以设置过期时间。时间复杂度为 O(1),没多执行一个 set 在redis 中就会多一个 key ,hset 则是以hash 散列表的形式存储。超时时间只能设置在 大 key 上,单个 filed 则不可以设置超时 时间复杂度我百度了很多文章...原创 2017-06-17 14:09:07 · 81164 阅读 · 5 评论 -
java 60 行代码写一个简单可用的并且带过期时间的内存缓存
60 行代码写一个简单可用的并且带过期时间的内存缓存在一个小项目中需要特别简单的使用一个缓存。如果要引入 ehcache 等其他第三方缓存还需要增加 各种 jar 甚至需要增加配置文件。特别麻烦。所以就自己写了一个。思路也很简单。1、使用一个 static 修饰的 ConcurrentHashMap 对象保存数据。2、存入数据的时候把存入的实际数据增加一个外包装,顺便加上存入...原创 2017-09-19 14:41:53 · 11513 阅读 · 13 评论 -
Redis 实现的可用于生产环境的分布式锁(带超时时间)
我写的加锁方式有缺陷,所以删掉了。正确方式见博客:http://www.cnblogs.com/linjiqin/p/8003838.html 写的特别好 小程序查看更多java相关面试题原创 2018-11-21 15:32:07 · 2054 阅读 · 0 评论 -
Redis 中可能导致性能问题以及原因
1、线上环境是用 keys 命令因为 Redis 是单线程的,执行 keys 命令会导致扫描 所有的 key 非常耗时,导致阻塞了其他的命令执行。从而影响性能,一般线上环境会禁止使用该命令 2、aof 备份数据方式配置了 appendfsync always 每次数据改变都同步刷新到磁盘每写入一条日志就进行一次fsync操作,数据安全性最高,但速度最慢,因为要进行磁盘操作。如果一个...原创 2018-12-12 15:47:42 · 1135 阅读 · 0 评论