共计 713 个字符,预计需要花费 2 分钟才能阅读完成。
本文首发于 cartoon 的博客
转载请注明出处:https://cartoonyu.github.io/c…
-
Redis 为什么是单线程的?
-
参考博客户
- https://blog.csdn.net/chenyao…
- Redis 是基于内存的,瓶颈通常是内存大小以及带宽,与 CPU 没有太大联系
-
-
什么是缓存穿透?怎么解决?
-
参考地址
- https://www.jianshu.com/p/400…
-
缓存穿透
- 缓存是 key 命中时数据写入内存的
- 缓存穿透是指利用不存在 key 进行缓存查询,当缓存不存在此 key 则到数据库查询,当请求量级比较大时,数据库有可能宕机
-
解决方法
- 在某些特定场景使用验证码
-
布隆过滤法
- 利用多种 HASH 算法对数据标识位进行缓存
-
-
Redis 支持的数据类型有哪些?
-
string
- 字符串
-
hash
- 散列
-
list
- 列表
- 内部使用双向链表实现
- 访问端元素较快,通过索引访问较慢
-
set
- 无序集合
- 内部通过 value 为 null 的散列表实现
-
zset
- 有序集合
-
-
Redis 支持的 Java 客户端都有哪些?
-
参考博客
- https://blog.csdn.net/moonpur…
-
Jedis
-
优点
- 轻量简洁
- 支持连接池
- 支持 pipelining、事务、LUA Scripting、Redis Sentinel、Redis Cluster
-
缺点
- 不支持读写分离
- 文档支持不足
-
-
Redisson
- 官方推荐
-
优点
- 采用非阻塞 IO
- 支持异步请求
- 支持连接池
- 支持 pipelining、LUA Scripting、Redis Sentinel、Redis Cluster
- 支持读写分离以及读负载平衡
- 可与 Spring Session 集成
- 文档支持充足
-
lettuce
-
优点
- 线程安全
- 支持异步请求
- 采用非阻塞 IO
- 支持哨兵模式
- 支持集群
-
-
正文完