redis
文章平均质量分 82
为什么使用redis,与memcached对比,使用实例
深山猿
不断进化的深山猿
展开
-
Redis的HyperLogLog实现uv统计
uv使用原创 2022-12-08 09:36:24 · 998 阅读 · 0 评论 -
redis中对象存储内存占用预估和相关对象
redis内存占用评估转载 2022-05-13 11:54:14 · 4417 阅读 · 0 评论 -
重复数据产生原因:分布式锁超时与主从延迟
原本的逻辑如下:针对一个题目,学生只可以插入或更新记录,插入的前提是答题结果不存在,所以按照正常流程应该是一个学生针对一个题目肯定只有一条记录的。但是发现,偶尔会产生一个学生针对同一个题目有多条记录。原因1:可能表执行了alter等语句,阻塞了insert,然后分布式锁超时自动释放,此时用户再次点击保存就会执行插入操作;原因2:没有alter阻塞insert,insert是正常执行,执行完毕后释放分布式锁;由于主从延迟,select的是从库,如果两次保存操作非常近,时间间隔小于了数据库的主.原创 2021-08-26 15:24:10 · 2034 阅读 · 0 评论 -
mysql和redis拆分实例与过程
1 redis当前实例1.1目前配置与使用状态现象:redis目前上课等高峰期cpu使用率达到60%-80%,所以单实例目前已经不能满足要求,需要拆分成两个实例,拆分原则和结论与下面mysql类似。1.2 redis从4到5的主要优化:1)内存优化:主动碎片整理 3.0只能定期重启 4.0主动或手动个清理 5.0增强版(更快速、低延迟)主动碎片整理HyperLogLog算法得到改进,优化了计数统计时的内存使用效率。INFO命令返回信息更加详实。2)RDB支持存储LFU、LR..原创 2020-12-16 17:54:44 · 417 阅读 · 0 评论 -
JetCache入门
今天我们来介绍一下由Alibaba开源的一款缓存框架JetCache。其号称比Spring Cache用起来更加好用,笔者用了之后发现确实比较好用。JetCache支持本地TTL、两级缓存和分布式缓存自动刷新,开发者也可以手动的去操作缓存实例(类似于Redis/Map操作)。到目前为止共有4个组件可以使用:RedisCache、TairCache(未在github开源)、CaffeineCache(内存)和简单的LinkedHashMapCache(内存)。JetCache特点通过一致的Cach转载 2020-05-18 20:29:35 · 1249 阅读 · 0 评论 -
redis经典面试问题链接
Redis基础知识,数据结构,分布式锁,keys作用与问题,异步队列,延时队列,持久化,pipeline。同步机制https://blog.csdn.net/qq_35190492/article/details/102841400 -面了BAT,我总结了他们会问的Redis基础知识Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)-https://blog.csdn....原创 2020-02-29 10:04:15 · 225 阅读 · 0 评论 -
redis+环绕aop 实现定时任务在集群中仅执行一次
场景说明:web服务原本仅有一台机器,现在因为用户量增加准备扩充为2台机器,那项目中的定时任务要求仅能单次在一个机器上执行。解决:准备采用redis实现分布式锁功能,定时任务执行前先查看执行方法对应的key在redis中是否存在,如果不存在,则把key放入(相当于加锁),指定过期时间(防止方法执行失败导致的死锁),方法执行完成后移除key(释放锁);如果key已经存在,则直接跳过,方法不执行。...原创 2019-10-10 11:17:49 · 634 阅读 · 0 评论 -
redis数据结构与精准限流
Redieskey -valuevalue存在如下类型:setSortedsetmapstringlistlist-列表:ziplist:压缩列表:类似数组,但不同于数组,1)单一压缩列表中支持存储不同大小的数据,所以更加节省空间,这也是压缩的含义。2) 因为上面的特性,压缩列表不可以通过下标直接定位元素为什么要使用压缩散列表:没有多余的指针等,节省空间使用条件...原创 2020-01-16 13:40:25 · 253 阅读 · 0 评论 -
redis一般锁和分布式锁的原理简析
redis分布式锁的实现方式redis中存在一个指令,setnx,即set if not exist,如果此时key不存在则返回1,并对key赋值;如果key已经在redis中存在,则直接返回0,并且啥也不干。一般锁原理p1(线程1)setnx lock value返回1说明key不存在,获取锁成功p2(线程2)也执行 setnx lock value返回0,获取锁失败,所以p2需...原创 2019-04-22 15:14:44 · 1581 阅读 · 0 评论 -
redis5.0集群搭建实例
Redis Cluster的架构图(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。(4)redis-cluster把所有的物理节点映射到[0-1638...原创 2019-04-12 22:57:58 · 1878 阅读 · 0 评论 -
redies集群方案
为什么需要集群Redis单线程特性,多请求顺序执行,单个耗时的操作会阻塞后续的操作 单机内存有限 某些特殊业务,带宽压力较大 单点问题,缺乏高可用性 不能动态扩容Redis的集群方案1.Redis服务端sharingRedis 3.0集群采用了P2P的模式,完全去中心化。Redis把所有的Key分成了16384个slot,每个Redis实例负责其中一部分slot。集群中的...原创 2019-04-12 22:13:11 · 778 阅读 · 0 评论 -
redis中数据类型的使用,并发问题,list重复插入问题,redis使用实例-简单消息队列和排名统计
redis 5种数据类型的正确使用redis支持5中数据类型,即string,list,hash,set,sortedset。但是什么时候应该用哪种数据类型呢?以string和list的为例来说明其实并不是简单的java中的list对应redis中的list,java中的string对应redis的stringlist可以存到string中,取出来后可以强转为listredis中lis...原创 2019-04-11 10:39:54 · 11123 阅读 · 3 评论 -
redis在springboot中的使用,redissonClient
创建spring-boot项目,创建的时候同时勾选web,如果不知道怎么创建springboot项目可以参考https://blog.csdn.net/forezp/article/details/70341651。1、pom引入,增加如下内容 <dependency> <groupId>org.springframew...原创 2019-04-10 14:03:37 · 3140 阅读 · 0 评论 -
redies的单例安装
本篇文章以在mac上安装redis为例,别的系统也可以参考。1下载打开官网:https://redis.io/Download---Stable---Download3.2.8,下载最新稳定版,这里是3.2.82.安装下载完成后,打开命令行工具,执行解压命令tar zxvf redis-3.2.8.tar.gz将解压后文件夹放到/usr/local...转载 2019-04-10 11:42:27 · 245 阅读 · 0 评论 -
redis与memcached的底层数据结构与存取算法
redis比memcatched更快的原因Redis支持哪几种数据类型?每种数据类型的底层结构?5中数据类型:String、List、Set、Sorted Set、hash;8种底层数据结构。redis底层数据结构Redis中的一个对象的结构体表示如下:/** Redis 对象*/typedef struct redisObject {// 类型uns...原创 2019-04-09 21:25:16 · 1044 阅读 · 0 评论 -
redis基础,优缺点、适合场景、数据淘汰/删除策略、持久化三种方案、并发处理
什么是Redis?简述它的优缺点?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。优点:纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。缺点:Redis的数据库容量受到物理内存的限制,不能用作海量...原创 2019-04-09 18:37:26 · 1799 阅读 · 0 评论