
redis
文章平均质量分 87
雪碧聊技术
成为大人不一定是要有出息,而是学会照顾自己
展开
-
如何使用redis记录上亿用户的连续登录天数?
说明:bitmap类型,是基于String类型的,已知String类型最大长度为512M,约等于42亿个bit位,因此我们可以记录42亿个状态,完全是够用的,因为你系统用户再多,也应该超不过42亿。原创 2025-05-14 10:21:37 · 320 阅读 · 0 评论 -
Redis9:商户查询缓存3
缓存击穿:也叫热点key问题,就是一个被高并发访问缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间打到数据库,给数据库带来巨大的压力。举例:热点key的TTL突然到期了,线程1从redis中没命中,然后去数据库查询,并将数据重新写会redis(由于该热点key的缓存重建业务较复杂,因此重建时间比较久),在重建期间,由于该热点key是高并发的,因此此时无数线程请求该key,redis没命中,于是这些请求都打到数据库,导致数据库压力巨大。原创 2024-11-09 18:55:22 · 1291 阅读 · 0 评论 -
Redis8:商户查询缓存2
缓存穿透:是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。举例:假设我们的店铺id是1~20,结果有人非要查询id为100的店铺,这明显是不合理的,于是就会出现如下情况:此时缓存中没有,去数据库查询也没有,于是这个不怀好意的人抓住了这个漏洞,搞了一堆线程来发送大量的请求,查询这个不存在的id,这些海量的请求都会打到数据库中,长时间一来,数据库就会垮掉(数据库速度不像redis那么快,可能打到数据库的请求一多,就会导致数据库垮掉)。原创 2024-11-08 22:42:46 · 1068 阅读 · 0 评论 -
Redis7:商户查询缓存1
缓存就是数据交换的缓冲区(称作“Cache”),是存储数据的临时地方,一般读写性能较高。原创 2024-11-08 20:58:26 · 1220 阅读 · 0 评论 -
Redis6:短信登录
就是每次请求时,都要刷新redis中的token的有效期。如果不刷新,那么redis中的有效期,就会一直是在登录时给的那30分钟,若这期间我经常访问该项目,证明我一直在,那么就应该刷新这个token的有效期。原创 2024-11-07 21:49:36 · 1378 阅读 · 0 评论 -
Redis5:Redis实战篇内容介绍、短信登录
我们在Redis实战篇中,要学习如何在下面几种场景下,使用Redis实现业务功能。原创 2024-11-07 16:42:41 · 1458 阅读 · 0 评论 -
Redis4:Redis的Java客户端
由于jedis本身是线程不安全的,并且频繁地创建和销毁连接会有性能损耗,因此我们推荐大家使用Jedis连接池代替Jedis的直连方式。工具类编写:举例:①编写连接池工具类新建一个utils包,创建下面的工具类static{//配置连接池//该连接池最多创建8个连接//该连接池最多有8个空闲连接//该连接池最少有0个空闲连接//当连接池中,没有连接可用,最多等待1000毫秒(1秒)//创建连接池对象②使用连接池工具类,来获取连接之前有的代码意义也变了:③测试之前的代码。原创 2024-11-06 21:20:50 · 1332 阅读 · 0 评论 -
Redis3:Hash类型、List类型、Set类型、SortedSet类型
Redis中的List类型与Java中的LinkedList类似,可以看做一个双向链表。既可以正向检索也可以反向检索。redis中的Set结构,与Java中的HashSet类似,因此具备与HashSet类似的特征。redis中的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但二者底层数据结构却有很大差别。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加hash表。原创 2024-11-06 17:08:21 · 874 阅读 · 0 评论 -
Redis2:Redis数据结构介绍、通用命令、String类型、Key的层级格式
这里,string、int、float都可以看成是String类型,因为本质都是用字节数组来存储的。原创 2024-11-06 11:28:14 · 518 阅读 · 0 评论 -
Redis1:初识Redis
Redis诞生于2009年,全称:Remote Dictionary Server(远程词典服务器),是一个基于内存的键值型NoSQL数据库。原创 2024-11-05 22:39:12 · 1520 阅读 · 0 评论