
redis
Code神之手
人生辗转,起伏无常。活在当下。
1.01的365次方=37.78343433289>1;
0.99的365次方= 0.02551796445229<1
展开
-
分布式缓存及redis必知必会篇
分布式缓存1、在项目中缓存是如何使用的?减少mysql的QPS压力,作为分布式系统部署架构,可以作为Redis red lock锁使用2、为什么在项目中要用缓存?高性能:解决频繁查询重复数据库耗时问题经典场景:如果有1000个人,每次都查询的是重复的数据,5分钟内从数据库中查询了1万次,每次耗时800ms,查询会很慢。如果第一个人查询耗时800ms,然后将数据写入到缓存中,那么之后的人直接从缓存中读取,只需要10ms,效率可想而知。高并发:减少数据库的请求量,分担压力经典场景:数据库承原创 2020-10-11 02:46:40 · 1331 阅读 · 4 评论 -
Redis学习笔记11之应用场景以及分布式session的解决方案
redis应用场景实现账号注册,短信验证码key:regist:code:手机号 value:验证码设置过期时间然后是检查用户账号通过发送邮件激活注册成功后,数据库中已经有了账号注册信息,但是需要激活才能登录,发送一封邮件,确定激活后,更新user的state即可发送邮件前,先在redis中保存随机生成的uuid。key:regist:activecode:随机生成的uuid value:userId邮件中有激活链接,链接其实就是一个get请求:http://www.ldmall.c..原创 2020-05-12 00:20:39 · 298 阅读 · 0 评论 -
Linux之的Shell脚本编写启动Redis服务
我的redis:服务路径:/usr/local/redis/bin/redis-server配置文件路径:/usr/local/redis/bin/redis.conf1、先创建一个文件vim redis.sh2、然后是编写shell srcipt,保存退出3、增加脚本可执行权限, chmod +x redis.sh4、最后是执行sh脚本,./redis.sh start...原创 2020-05-06 18:39:10 · 1596 阅读 · 0 评论 -
Redis学习笔记10高可用架构之主从、哨兵模式以及高性能之RedisCluster
redis的高可用架构主从结构master_slave即:搭建两个redis服务器,建立主从关系。从机模式:只能写不能读,如果执行写操作会报错。主机写入数据,从机会自动也写入一份数据offset:偏离,偏移量,即:记录上次写入的结束的位置。(确定从哪开始继续复制)从机何时解除解除主从关系?当主机宕机,从机应该解除主从关系,执行写入的操作。主从结构配置...原创 2020-05-05 22:45:57 · 236 阅读 · 0 评论 -
Redis学习笔记9之Redis的持久化机制、数据恢复、AOF后台重写问题
redis持久化机制为了避免数据的丢失而采用的记录数据(备份数据)的方式持久化的时机:1、服务器重启 2、设置持久化的周期两种方式:RDB:默认开启。二进制文件(dump.rdb)转出文件,随数据的增多而越来越大Save the DB on the disk提供了默认触发持久化的时机的参数配置:60s改了一万次,5分钟改了十次,15分钟改了一次等都会出发save the ...原创 2020-05-05 20:43:07 · 346 阅读 · 0 评论 -
Redis学习笔记8之内存管理,超时指令
前言Java中有GC,可以自动回收不再使用的Java对象。同样,Redis也是基于内存而运行的数据集合,也存在着对内存垃圾的回收和管理的问题。管理Redis内存数据的两种方式方式1:del命令直接删除一些键值对对于Redis,del命令可以删除一些键值对,所以Redis比JVM更灵活(Java中不可直接操作JVM的gc,这也是jvm和redis的直接区别)。当内存运行空间满...原创 2020-05-04 16:41:48 · 214 阅读 · 0 评论 -
Redis学习笔记7之消息发布订阅和业务场景
redis的发布订阅我不常用,作为了解。消息发布订阅描述和生产环境中的使用场景参考:https://cloud.tencent.com/developer/article/1462959redis的发布订阅结合springboot代码实现参考:https://blog.youkuaiyun.com/qq_32867467/article/details/82944209...原创 2020-05-04 16:20:54 · 184 阅读 · 0 评论 -
Redis学习笔记6之缓存预热,流水线写法,批量提交指令,减少跟Redis服务器交互次数
缓存预热:2/8定律,即百分之八十的访问量来自百分之二十的产品浏览常识:一般数据新增及更新,最耗时的地方就是网络传输,如果批量操作10W+数据,for循环,那么和服务器网络交互次数也将是10W+次数,这是不可采取的。 @Test public void test(){ // 开始时间 long start = System.currentTi...原创 2020-05-04 15:30:42 · 284 阅读 · 0 评论 -
Redis学习笔记5之CAS乐观锁ABA问题和redis实现乐观锁实现机制笔记
ABA问题采用业务字段会导致ABA问题即:A开始取的时候store=100,B开始取的时候也是store=100,然后B对数据做了一系列的操作后,B又将store改回了store=100,当A提交数据的时候,检查store是否等于100时,检查通过,于是将数据更新。导致了ABA问题出现。最终采用version方式,自动递增,避免ABA问题的出现。即不采用业务字段控制版本号,防止修改。...原创 2020-05-04 14:44:51 · 800 阅读 · 0 评论 -
Redis学习笔记4之如何设置key和value的序列化方式?设置序列化器
学习笔记:初始的redis开发包用的是jedis现在一般开发都是用spring整合的spring-data-redisspring-data-redis -->redisTemplate默认的序列化器:redisTemplate 默认会对存储的key和value执行jdk的序列化方式导致存储的数据到redis中,key和value都是乱码序列化的好处和坏处好处:保存...原创 2020-05-01 02:11:36 · 1440 阅读 · 0 评论 -
Redis学习笔记3之五种基本类型认识及操作String、Hash、List、Set、ZSet
目录String类型Hash类型List类型Set类型ZSet类型String类型string类型基本操作set key valueget keydel key 或者多个key批量操作(multiple) []代表多个,是一个可变数组,减少网络传输的交互次数和耗时Mset key value [key value]Mget key [key]d...原创 2020-04-29 23:58:39 · 264 阅读 · 0 评论 -
Redis学习笔记2之解除本地绑定和设置连接密码
解除本地绑定进入config配置文件,注释bind 127.0.0.1如果没有设置密码或者关闭保护模式,java连接redis会报错。如果是连接超时,请先进入防火墙开放端口:6379如果是一大串的报错字符,应该就是解除本地连接引起的了其中报错信息中,会提出四点建议:不建议关闭保护模式,建议采用绑定ip地址或者设置密码auth设置redis的连接密码进入配置文件,找到...原创 2020-04-29 23:38:01 · 451 阅读 · 0 评论 -
Redis学习笔记1之redis的作用、学习路线和面试套路
有时间可以了解下:redis 和 memcached区别memcached:参考文档:https://www.jianshu.com/p/bf648b4e60adredis中文网: https://www.redis.net.cn/tutorial/3501.htmlredis作用:1、可以将一些变化频率不高的数据存储到redis中缓存对比2、替换原先依赖于数...原创 2020-04-29 01:02:58 · 244 阅读 · 0 评论