![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 92
redis学习笔记
香树
我们不生产代码,我们只是代码的搬运工
展开
-
redis总结_原理
try {// 1.建立连接 String host = "192.168.150.101";// 2.获取输出流、输入流 writer = new PrintWriter(new OutputStreamWriter(s . getOutputStream() , StandardCharsets . UTF_8));// 3.发出请求 // 3.1.获取授权 auth 123321 sendRequest("auth" , "123321");......原创 2022-08-06 19:33:24 · 196 阅读 · 0 评论 -
redsi总结_最佳实战
Key的最佳实践固定格式:[业务名]:[数据名]:[id]足够简短:不超过44字节不包含特殊字符Value的最佳实践:合理的拆分数据,拒绝BigKey选择合适数据结构Hash结构的entry数量不要超过1000设置合理的超时时间并不是很慢的查询才是慢查询,而是:在Redis执行时耗时超过某个阈值的命令,称为慢查询。......原创 2022-08-06 19:03:21 · 270 阅读 · 0 评论 -
redis总结_多级缓存
传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图存在下面的问题•请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈•Redis缓存失效时,会对数据库产生冲击浏览器访问静态资源时,优先读取浏览器本地缓存访问非静态资源(ajax查询数据)时,访问服务端请求到达Nginx后,优先读取Nginx本地缓存如果Nginx本地缓存未命中,则去直接查询Redis(不经过Tomcat)如果Redis查询未命中,则查询Tomcat。......原创 2022-08-01 00:35:26 · 504 阅读 · 0 评论 -
redis总结_分布式缓存
提示文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2022-08-01 00:15:47 · 159 阅读 · 0 评论 -
Redis总结_实战篇
亲爱的小伙伴们大家好,马上咱们就开始实战篇的内容了,相信通过本章的学习,小伙伴们就能理解各种redis的使用啦,接下来咱们来一起看看实战篇我们要学习一些什么样的内容这一块我们会使用redis共享session来实现通过本章节,我们会理解缓存击穿,缓存穿透,缓存雪崩等问题,让小伙伴的对于这些概念的理解不仅仅是停留在概念上,更是能在代码中看到对应的内容通过本章节,我们可以学会Redis的计数器功能, 结合Lua完成高性能的redis操作,同时学会Redis分布式锁的原理,包括Redis的三种消息队列我们利用Re原创 2022-07-31 20:35:05 · 532 阅读 · 0 评论 -
redis总结_基础
存储方式关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响非关系型数据库,他们的操作更多的是依赖于内存来操作,内存的读写速度会非常快,性能自然会好一些扩展性关系型数据库集群模式一般是主从,主从数据一致,起到数据备份的作用,称为垂直扩展。非关系型数据库可以将数据拆分,存储在不同机器上,可以保存海量数据,解决内存大小有限的问题。称为水平扩展。关系型数据库因为表之间存在关联关系,如果做水平扩展会给数据查询带来很多麻烦可读性差内存占用较大。.........原创 2022-07-31 19:34:39 · 439 阅读 · 0 评论 -
深入解析redis的数据结构
我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题:Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic String),简称SDS。例如,我们执行命令:那么Redis将在底层创建两个SDS,其中一个是包含“name”的SDS,另一个是包含“虎哥”的SDS。Redis是C语言实现的,其中SDS是一个结构体,源码如下:原创 2022-06-16 23:38:03 · 459 阅读 · 0 评论 -
Redis最佳实践
Redis会绑定在0.0.0.0:6379,这样将会将Redis服务暴露到公网上,而Redis如果没有做身份认证,会出现严重的安全漏洞.漏洞重现方式:https://cloud.tencent.com/developer/article/1039000漏洞出现的核心的原因有以下几点:.........原创 2022-06-15 17:06:16 · 84 阅读 · 0 评论 -
亿级流量的缓存方案——多级缓存
传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:存在下面的问题:•请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈•Redis缓存失效时,会对数据库产生冲击多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性能:在多级缓存架构中,Nginx内部需要编写本地缓存查询、Redis查询、Tomcat查询的业务逻辑,因此这样的nginx服务不再是一个反向代理服务器,而是一个编写业务的Web服务器了。因此这样的业务Nginx原创 2022-06-15 11:16:52 · 299 阅读 · 0 评论 -
Redis内存相关策略和内存碎片
本章主要内容:当Redis作为缓存时,通常在添加数据时自动淘汰旧数据,这是目前流行的内存缓存系统的默认行为。本章主要介绍Redis中一些内存相关的配置以及LRU和LFU淘汰算法maxmemory配置项用于Redis数据集设置可使用的最大内存量,用户可使用redis.conf文件来设置这个配置项或者使用config set命令来直接设置。例如为了配置100mb的内存使用量,可以在redis.conf文件内部使用以下命令:如果把内存设置为0,则表示没有内存使用量的限制,这是64位系统默认的设置,而32位的系统原创 2022-06-10 12:08:18 · 611 阅读 · 0 评论 -
redis分布式缓存以及redis集群方案
这篇文章艺术成分很高的,有三层楼那么高Redis是一种内存型数据库,即服务器在运行时,系统为其分配了一部分内存来存储数据,当服务器突然宕机了,那么数据库里面的数据将会丢失,为了应对这种情况,必须通过持久化的方式将内存中的数据保存到磁盘中。Redis 提供了2个不同形式的持久化方式。RDB是将内存中的数据的快照存储到磁盘中,AOF则是通过日志记录Redis中的所有写操作。Redis4之后,支持AOF+RDB混合持久化方式。可通过aof-use-rdb-preamble配置项开启混合持久化的开关在指定的时原创 2022-06-09 23:29:53 · 351 阅读 · 0 评论 -
redis优惠券秒杀、setnx分布式锁的实现和优化、Redisson、Redisson重入和超时以及重试锁的原理、redis优惠券秒杀优化、redis实现消息队列
测试实现优惠券秒杀下单超卖问题一人一单分布式锁改进Redis的分布式锁解决锁的误删分析下面一个场景:使用Lua脚本解决锁原子性问题我们上面解决了锁的误删问题,通过线程标识解决锁的误删问题,但是这还是不完美的,因为判断线程标识和释放锁的操作不是原子的:至此redis分布式锁相对已经完善了,但是还有以下问题需要考虑:1、引入依赖:2、配置Redisson客户端Redisson可重入锁的原理setnx无法实现锁重入setnx是无法实现redi原创 2022-06-08 15:08:48 · 280 阅读 · 0 评论 -
Redisson的看门狗机制
首先呢,本文参考了这篇文章https://www.cnblogs.com/keeya/p/14332131.htm,这个文章被抄袭了很多次,如果你搜一下【Redisson的看门狗机制】会出现很多个一样的内容,但是个人阅读源码后,发现里面有部分说的不是特别的准确,和我个人理解的对不上。那么在次之上,我就把我对redis实现分布式锁中看门狗这个机制,表达一下我的理解,为了保存逻辑的完整性,我索性也就搬运了这个文章的内容,但是文中,表达一下,我的个人理解:据Redisson官网的介绍,Redisson是一个Jav原创 2022-06-08 00:47:34 · 19273 阅读 · 20 评论 -
redis解决商户查询缓存以及如何解决缓存穿透、缓存雪崩、缓存击穿
缓存更新策略先删除缓存,再更新数据库不考虑并发的情况下,不会出现缓存和数据库不一致的问题并发情况下,就会存在缓存和数据不一致的问题先操作数据库,再删缓存缓存穿透缓存空对象解决缓存击穿逻辑过期解决缓存击穿...原创 2022-06-06 13:29:36 · 372 阅读 · 0 评论 -
redis实现登录
2、短信验证登录3、使用拦截器解决登录验证因为一个用户的请求就对应一个线程,为了获取user的线程安全问题,我们把user绑定在线程域ThreadLocal4、 集群下,使用session解决用户登录的问题1、发送短信验证:不再将验证码保存在session中,而是保存在redis中,使用String类型即可,key为手机号,value为验证码2、短信登录和注册:同样需要校验手机号和验证码、判断用户是否存在等。如果用户存在,服务器创建token并返回给客户端,用户保存在redis中,这里推荐原创 2022-06-05 17:42:46 · 5597 阅读 · 3 评论 -
1、redis基础
一、Redis数据结构介绍二、Redis通用命令通用指令是部分数据类型的,都可以使用的指令,常见的有:KEYS:查看符合模板的所有keyDEL:删除一个指定的keyEXISTS:判断key是否存在EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除TTL:查看一个KEY的剩余有效期通过help [command] 可以查看一个命令的具体用法,例如:注意注意:生产上不要用KEYS这个命令...原创 2022-05-31 12:23:18 · 99 阅读 · 0 评论