- 博客(16)
- 收藏
- 关注
原创 Redis持久化
Redis的持久化有两种快照Aof日志快照:1 默认是开启的,2默认的会产生dump.rdb 文件{save 900 1 (900秒内有1次间修改,就执行一次快照)save 300 10save 60 10000}备份流程1 在Redis 运行过程中,Redis 发送一条save 创建快照,但save是一个阻塞命令,或导致其他命令挂起,bgsave 会fork 一个子进程去处理备份的事情,不致影响其他操作2 我们定义的备份规则,如果有满足的,也会自动触发save3redis
2021-08-29 07:46:28
156
原创 docker
2021年8月9日8:51安装docker后启动docker systemctl start docker停止docker systemctl stop docker重启 docker systemctl restart docker检查docker状态Systemctl status dockerDocker info 查看docker信息Dockre ps 查看 正在运行的容器Docker ps -a 查看所有容器Docker ps -l 查看新...
2021-08-12 17:28:06
214
原创 redis-Cell 深入限流操作
深入限流操作Redis-cell 模块,这个模块是漏斗算法漏斗算法:请求大口进入,小口处 。首先安装reids-cell模块https://github.com/brandur/redis-cell/releasesmkdir redis-cell 文件夹然后 mv libredis_cell.d /redis-cellmv libredis_cell.so ./redis-cell将这两个移动到文件夹vi redis.conf保存退出然后启动redis 如果出现CL.THR
2021-07-27 16:39:09
196
原创 Redis-限流
预备 知识Pipeline(管道) 本质是有客户端提供的一种操作,Pipline 通过调整指令列表的读写顺序,可以节省IO时间简单限流public class RateLiniter { private Jedis jedis; public RateLiniter(Jedis jedis) { this.jedis = jedis; } /** * * * @param user 操作的用户,相当于限流对象
2021-07-27 15:06:19
95
原创 redis-布隆过滤器
我们用hyperLogLog 来估计一个数,有偏差但也够用了hyperLogLog提供了两个数据结构:pfadd:pfcount:但是HyperLogLog 没有判断是偶包含的方法,例如pfexists,pfcontains例如:今日头条,推送的都是相似的,但没有重夫的Bloom Filter 介绍解决上面的去重问题,不会像使用缓存那样浪费空间,但也不太精确(让他精确占空间)bloomFilter 的数据结构:pfexists,(这个是精确的)pfcontainsBloon Filter
2021-07-27 10:22:46
70
原创 redis-HyperLogLog
一般评估网站的访问量:pv page view 页面浏览uv User view 访问用户 实现的话pv 可以用简单的计数器实现,uv则涉及去重 我们首先需要在前端给每一个用户生成一个人唯一id,无论用户是否登录,都要有一个唯一id,这个id伴随请求...
2021-07-27 08:28:55
75
原创 Redis操作图位----------再谈bit操作
用户一年的签到记录,如果用String,就要用365个key/value,比较麻烦,通过位图可以简化这个操作。他的统计很简单:每天记录一个位,365个位,大概 46个字节,这样可以有效节省存储空间,如果有一天想统计用户一共签到多少天,统计1 的个数即可对于位的操作。可直接操作对应的字符串(ger/set),可以直接操作位(getbit/setbit)## 基本操作Redis 的基本操作可以归为两类:### 零存整取例如存储java字符串:|字符|ASCII|二进制|...
2021-07-27 07:43:35
126
原创 redis
安装RedisCtrl+c 停止服务## String人Append 如果key 存在,则直接可以在值后追加之,否则创建新的k-vdecr 自减Set 赋值Decrby 给自减设置步长getRange 和Java中的subString 相似incr自增过期时间 keySetnx 不会覆盖已经存在的值setRange 覆盖一个已经存在的value## Listlpush 表示将value的值从左向右的依次...
2021-07-26 11:03:39
145
原创 redis的分布式锁
# redis的分布式锁** 问题场景**例如:一个用户修改操作,修改一个用户的状态,首先在数据库查出用户的状态,然后再内存中进行修改,然后再从回去,在单线程中这个是没问题,但在多线程中,由于读取,修改,存储这三个操作不是原子性,所以在多线程中会出现问题数据库中事务的四大特性:原子性:事务包含的操作要么全部成功,要么全部失败回滚一致性:事务执行前后必须一致持久性:事务一旦提交,就是永久性的隔离性 : 每个用户开启的事务,不能影响其他事物分布式锁的思路就是:进来一个...
2021-07-26 10:15:29
154
原创 进制转换··
二进制转十进制规则: 从最低位(右边)开始将每个位上的数字提取出来,乘以2的(位数-1)次方,然后求和:将0b1011转成10进制:1 X 2的0次方 11 X 2的1次方20 X ~~~~~~~1 X 2 的3次方 811八进制转十进制从最低位(右边)开始将每个位上的数字提取出来,乘以8的(位数-1)次方,然后求和:例子 02344X8的0次方 ······13X8的1 次方·········242X8的2次方 ·········128十六进制转十进制从最低位(右边)开始将
2021-07-22 23:25:18
166
原创 springcloud-Hystrix
2. Hystrix2.1 基本公能介绍hystrix 叫做断路器/熔断器,就是因为微服务模块太多,每一个模块出错都会引起服务整体出错。能通过提前配置的东西,让不影响整个系统、2.2 基本用法2.2.1 添加配置文件<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</ar
2021-07-22 17:52:45
74
原创 Spring属性注入
Spring的属性注入一、创建moudle二、使用步骤1.创建实体类2.编写application.properties3编写controller进行测试解决乱码问题一、创建moudle1 导入spring-boot-stater-web 这一个jar即可二、使用步骤1.创建实体类package com.king.entity;import org.springframework.beans.factory.annotation.Value;import org.springframewo
2021-06-12 17:15:50
63
原创 01redis集成springboot
1 首先解决连接问题(1)关闭防火墙(2)修改redis配置 vim redis.cofig(注释掉 bin127.0.0.1 即 #bin 127.0.0.1,后面写个bin 0.0.0.0)(protected-mode yes 改为 protected-mode no (即该配置项表示是否开启保护模式,默认是开启,开启后Redis只会本地进行访问,拒绝外部访问)。)2 开启springboot整合redis(1)导包<dependency> <gro
2021-06-03 22:51:48
137
原创 面向对象OOP1
面向对象解决养猫问题定义一个猫类Cat,自定义属性 name,age, 自定义行为 吃东西 eat()package oop;public class JavaObject { public static void main(String[] args) { //使用面向对象OOP解决养猫猫问题 //实例化一只猫 Cat cat = new Cat(); cat.age=1; cat.name="maomao";
2021-05-31 21:38:21
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人