![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis笔记
文章平均质量分 87
椰子Tyshawn
你眼中的世界就是你自己的样子。
展开
-
Redis和ZooKeeper的分布式锁实现
github地址: Redis和ZooKeeper对于分布式锁的实现Redis分布式锁客户端在读写redis之前必须先从redis获取锁, 只有获取到锁的客户端才能读写redis, 而其他没有获取到锁的客户端, 会以每秒一次的频率不断地去尝试获取锁.(1) 获取锁SET my_lock 随机值 PX 5000 NXPX是设置过期时间, 单位毫秒. NX是仅当key不存在时才设置值.(...原创 2020-03-21 17:12:47 · 390 阅读 · 0 评论 -
Redis必知必会
1. 在项目中缓存是如何使用的?结合自己的公司的项目, 回答以下问题:项目哪里用了缓存?为什么要用?用了可能会带来什么问题?怎么解决这些问题?项目的缓存架构是怎么样的?如果面试官没有问这些问题, 我们也要主动和面试官聊聊.2. 为什么要在项目中用缓存?(1) 高性能如果不使用缓存, 每次请求都有较大的延迟, 比如600ms, 而如果每次请求都走缓存, 可能2ms就搞定了...原创 2020-03-04 16:19:30 · 443 阅读 · 0 评论 -
Redis事务和并发控制
什么是Redis事务?Redis事务不保证原子性, 即事务中的某个命令执行失败, 事务不会回滚, 且后续命令会继续执行. 这样一来, Redis事务的功能就和脚本差不多, 都是将命令打包, Redis事务能做的事, 脚本也能做, 而且脚本速度更快.(1) Redis事务相关的命令MULTI开启一个事务, 后续的命令都会添加到一个队列中, 等待EXEC命令.EXEC触发并执行事务中的所...原创 2020-03-04 16:15:28 · 1843 阅读 · 0 评论 -
Redis布隆过滤器
在redis中我们可以使用布隆过滤器(BloomFilter)来解决缓存穿透的问题, 具体流程就是, 在更新缓存时, 我们会将缓存数据的key添加到布隆过滤器中, 然后在查询缓存之前, 我们先判断key在布隆过滤器中是否存在, 存在才去查询缓存, 不存在则直接返回空.布隆过滤器(BloomFilter) 是一种插入和查询性能非常高的数据结构, 功能有点类似于HashMap, 但相对于HashMa...原创 2020-02-19 22:12:46 · 472 阅读 · 1 评论 -
Redis基础
Redis简介Redis 是一个基于内存的高性能key-value数据库。Redis的Java客户端——Jedis单实例连接@Testpublic void testJedis() { //创建一个Jedis的连接 Jedis jedis = new Jedis("192.168.0.186", 6379); //执行redis命令 jed...原创 2018-07-05 15:41:48 · 541 阅读 · 1 评论