中间件
文章平均质量分 72
你猜我猜上青天
这个作者很懒,什么都没留下…
展开
-
redis随记——应用问题
缓存问题①穿透:到缓存获取不到数据,导致一直查询数据库(命中率低,非正常url访问)→对空值缓存:如果查询返回的数据为空,也把空缓存,但过期时间设短些→设置白名单:bitmaps→采用布隆过滤器:低层bitmaps,它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。(将所有可能存在的数据哈希到一个足够大的bitmaps中,一个一定不存在的数据会被 这个bitmaps拦截掉,从而避免了对底层存储系统的查询压力)→进行实时监控:当发现Redis的命中率开始急速降低,需原创 2022-04-10 22:42:40 · 176 阅读 · 0 评论 -
redis随记——集群
主从①主master-从slave,一主多从,读写分离,容灾快速恢复;②info replicaiion查看当前角色③主从配置:先创建公共配置文件,然后配置n个redis配罝,再引入公共配置,配置主从只需要从机执行:slaveof ip port:成为某个redis的从机④从服务挂了,重启后还是主机,不会自动恢复;主机挂掉从机会计录主机状态⑤同步原理:从连接主,主持久化后发送rdb文件,从读取(全量复制);主进行写操作会和从同步(增量复制)⑥从机可以做为令一个redis的主机⑦slaveof原创 2022-04-10 21:07:16 · 559 阅读 · 0 评论 -
redis随计——持久化
RDB①在指定的时间间隔内将内存中的数据集快照写入磁盘(Snapshot快照),恢复是将快照文件直接读到内存里②快照文件dump.rdb;②save 30 10:改的key越多,持久化间隔越短(设为30秒内10个k变动就进行持久化,如果30秒内有12个,则会在10个时进行持久化,然后重新计时)②Save/bgSave:手动/自动持久化,手动会阻塞进行持久化,自动会后台异步快照,同时也能响应请求③除了快照存储位置和保存间隔,其它配置都推荐使用默认的配置④快照流程:创建fork子进程,子进程创建临时原创 2022-04-10 17:16:11 · 431 阅读 · 0 评论 -
redis随计——秒杀
秒杀案例①用户提交:userId,prodId②//秒杀过程public static boolean doSecKill(String uid,String prodid) throws IOException {//1 uid和prodid非空判断if(uid == null || prodid == null) {return false; } //2 连接redis //Jedis jedis = new Jedis("192.168.44.168",6379); //通过连接池得原创 2022-04-10 16:10:05 · 3240 阅读 · 0 评论 -
redis随记——springBoot
整合①starter,commons-pool2②yml配置redis#Redis服务器地址spring.redis.host=192.168.140.136#Redis服务器连接端口spring.redis.port=6379#Redis数据库索引(默认为0)spring.redis.database= 0#连接超时时间(毫秒)spring.redis.timeout=1800000#连接池最大连接数(使用负值表示没有限制)spring.redis.lettuce.pool.max原创 2022-04-09 22:23:13 · 911 阅读 · 0 评论 -
redis随记——应用
配置①只支持bytes,大小写不敏感②includes:可以包含別的公用的配置文件③bind 127.0.0.1默认只能本机访问,不写不限制ip访问④protected-mode yes:本机访问保护模式,在没有设bind ip和密码的情况下,Redis只允许接受本机的响应⑤rcp-backlog:连接队列(完成+未完成三次握手的连接),高并发下需要高值来避免客户端连接慢的问题;注意:Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值(128),所以需要确认原创 2022-04-09 21:24:20 · 499 阅读 · 0 评论 -
redis随计——数据类型
介绍①减少CPU和IO压力,共享session,做缓存数据库(水平、垂直切分,读写分离都要破坏一定业务逻辑来换取性能)②string list set zset hash③redis默认16个数据库,0-15,select 8切换,dbsize查看当前数据库key数量,flushdb清空当前库,flushall清空全部④单线程+多路IO复用常用数据类型①key键keys *:查看所有key(匹配:keys*1)exists key:判断key是否存在type key:查看key类型del原创 2022-04-09 17:04:06 · 509 阅读 · 0 评论 -
中间件——消息MQ
消息MQ原创 2020-07-28 19:56:19 · 191 阅读 · 0 评论 -
中间件——Redis缓存
Redis转载 2020-07-27 21:43:04 · 803 阅读 · 0 评论