-
yexindonglai@163.com
2022-06-17 20:44
Redis
1373°
0
问题描述定位问题解决方案问题描述公司里需要用到单点登录,因为是springcloud微服务,最方便的方式就是将已登录的用户session数据统一存储到redis中,其他服务的登录状态直接在redis去取就行了,但是公司的业务模块分的比较细,用户是一个服务,订单是一个服务,商品服务又是一个服务;这就导致了我在用户服务登录后,拿token去订单服务校验时取不到redis的数据,定位问题通过debug发现,redis的序列化策略有3种JDK序列化(默认序列化格式,耗时长、可能出现乱码)String序列化,耗时最短,string序列化后,可视化界面还是原样子,但是如果是对象的话,需要自己手动转为对象j
-
yexindonglai@163.com
2022-04-01 16:55
Redis
1220°
0
什么是分布式锁实现分布式锁的方式redis实现分布式锁什么是分布式锁分布式锁的作用是为了在分布式环境下保证数据的一致性,是解决服务间通讯安全的一种手段,指的是将并行调用转为串行调用,防止多个服务在修改一个变量时产生的数据不一致问题;如下图实现分布式锁的方式就目前而言比较主流的分布式锁实现方式有2种rediszookeeperredis实现分布式锁今天我们主要谈使用redis来实现分布式锁,通常这也是面试经常问道的问题之一,
-
yexindonglai@163.com
2022-04-01 15:38
Redis
1674°
0
redis数据类型启动redisredis-cli命令连接到服务端连接密码所有命令string数据类型命令数值的操作String的set命令实现hash功能bitmap位图操作setbitbitpos命令bitcountbitop按位与、按位或运算bitmap有什么用?list(链表)常用命令lpush头插rpush尾插lrange命令lindex命令lpoprpopblpopbrpoplremlinsertllenLTRIMhashhash的lset命令hgethmset命令hmget命令hkeyshvalshgetallHINCRBY数值计算HINCRBYFLOAT小数计算setsadds
-
yexindonglai@163.com
2022-03-01 10:20
Redis
933°
0
面试经历在项目中加入缓存缓存穿透缓存击穿穿透和击穿的区别雪崩效应完面试经历在很长的一段时间里,我以为缓存击穿和缓存穿透是一个东西,直到最近去腾讯面试,面试官问我缓存击穿和穿透的区别;我回答它俩是一样的,面试官马上抬起头用他那细长的单眼皮眼睛瞪着我说:“你确定吗?”,最后面试提醒我,既然有不同的名字,那他们肯定就是不一样的,也就是说缓存击穿和缓存穿透不是一个东西;那么今天我们就看看这俩玩意的区别,以及它们引发的后果;在项目中加入缓存一般情况下,我们会把热点数据放到缓存中,比如常用的字典、用户信息、订单详情等等;也就是说,当项目启动后,先将热点数据加载到redis中,以后需要数据时就不用每次都去数
-
yexindonglai@163.com
2022-03-01 10:16
Redis
971°
0
什么是布隆过滤器布隆过滤器能解决什么问题布隆过滤器的优点布隆过滤器的缺陷布隆过滤器底层原理布隆过滤器误判如何解决误判java代码演示布隆过滤器布谷鸟过滤器什么是布隆过滤器是一个叫做布隆的小伙子发明出来的,底层使用bitmap(二进制位)实现,向bitmap中标记为1,表示这个元素已查询过,下次来查询的时候就不要再去数据库查了;这里涉及到了一个问题,就是说,如果我下次把这个不存在的数据插入到数据库了,那么也需要将布隆过滤器的bitmap刷新,因为数据库写了一篇,还需要在redis再写一遍,就涉及到双写了;布隆过滤器能解决什么问题布隆过滤器可以解决缓存穿透的问题;如果不知道缓存穿透,可以看我另一篇
-
yexindonglai@163.com
2022-03-01 10:15
Redis
1051°
0
redis的持久化存储策略什么是RDBRDB优点RDB缺点持久化触发方式1、手动触发RDB2、自动触发RDBbgsave底层原理AOFAOF优点AOF缺点rewrite机制(重写)为什么需要rewriterewrite原理AOF使用aof使用注意事项AOF文件内容说明Redis是如何进行持久化的(流程图)数据恢复redis的持久化存储策略redis是一个高性能的缓存数据库,既然是缓存,它的数据就是存储在内存中的,如果说服务器断电了,或者重启了,或者redis宕机了,他的数据就一定会丢失,所以为了解决这个问题,在丢失数据之前就将数据给持久化保存到磁盘,这种持久化技术,就是RDB和AOF什么是RD
-
yexindonglai@163.com
2022-03-01 10:14
Redis
1085°
0
写在前面注意事项主从复制配置和启动5.0版本以前,slaveof表示跟随的节点,后面2个参数是ip和端口5.0版本以后,replicaof表示跟随的节点,后面2个参数是ip和端口5.0版本以后,replicaof表示跟随的节点,后面2个参数是ip和端口只读模式,默认开启默认no为磁盘同步,改为yes则直连同步monitor表示定期监控哨兵节点,mymaster是哨兵的名称,名字随便起,因为哨兵也是集群的,所以集群下每个哨兵进程的名称也是一样的;这样就可以做到一套哨兵控制多套主从复制集群;127.0.0.16379是主节点的ip和端口最后的2是<quorum>,表示的是哨兵判断主节点是否发生故障
-
yexindonglai@163.com
2022-03-01 10:14
Redis
965°
0
redis事务的特性redis事务和mysql事务的区别使用redis事务的执行原理wathc命令实现乐观锁完redis事务的特性redis事务和mysql事务的区别使用redis事务的执行原理wathc命令实现乐观锁完redis事务的特性不同的客户端之间的事务不会互相阻碍;事务是一个原子操作,要么全部执行,要么全部都不执行,没有中间状态;redis的事务不支持回滚;作者认为,程序失败是由编程错误造成的,而这些错误应该在开发的时候就被发现;还有一点是redis不支持事务可以保证简单且快速;所以,在未提交的情况,不会更新key值!redis事务和mysql事务的区别redis的事务没有mysql