自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 11、Redis6.0的新特性

这些新特性中,多线程IO可以让Redis在并发量非常大时,让其性能更上一个台阶,对于单机Redis性能要求更高的场景非常有帮助,而客户端缓存可以让Redis的数据缓存在客户端,相当于每个客户端的本地缓存,Redis数据没有变化时,终端本地进程内就可以拿到数据,这不仅节省了网络带宽,降低了Redis的压力,充分应用了Redis的资源,对应用的性能提升帮助很大。Redis6.0的几个关键新特性:面向网络处理的多IO线程,客户端缓存,细粒度的权限控制,RESP3.0协议。

2022-12-20 17:33:20 278 1

原创 10、Redis在秒杀场景的应用

一、秒杀场景的特性1、顺时并发流量非常高 当有大量并发请求涌入秒杀系统时,可以使用Redis的高性能、高并发特性,先拦截掉大部分请求,避免大量请求直接发送给数据库,把数据库给压跨。2、读多写少,读操作是简单的查询操作 在秒杀场景下,用户需要先检查商品是否有库存,只有库存有余量时,秒杀系统才能进行库存扣减和下单操作。库存查验操作是典型的键值对查询,Redis对键值对查询的高效支持,正好和 这个操作要求相匹配。二、基于原子操作支撑秒杀场景 在秒杀场景中,一个商品的库存对

2022-12-01 10:19:01 713

原创 9、集群方案:Codis和Redis Cluster

从业务应用客户端的兼容性来看,连接单实例的客户端可以不需要做额外的开发直接连接codis proxy,实现集群方案,如果使用Redis Cluster客户端需要做相应的开发新功能。Codis Server 是基于Redis 3.2.8开发的,所以Codis并不支持Redis后续版本的新命令和数据类型,以及事务相关的命令。在Redis Cluster方案正式发布前,业界已经广泛使用的Codis的集群方案。

2022-11-29 18:58:36 298

原创 8、Redis原子操作、分布式锁、事务操作机制

解决办法:加锁时,key的value设置为客户端的唯一标识,这样释放锁时,只有当前操作的客户端的唯一标识=key的value时,才可以释放锁。因为这里释放有判断锁变量值,删除key的操作,为了实现原子操作,需要使用lua脚本来实现。如果执行的命令不卡有简单的数据增减逻辑,还有各种判断逻辑,那就需要使用lua脚本,Redis会把整个lua脚本做为一个整体执行,从而保证lua脚本中操作的原子性。另外,开启事务后,可以使用PIPELINE命令将命令批量发送到事务队列,这样可以减少单命令方式的网络开销。

2022-11-25 11:58:01 476

原创 7、Redis的缓存淘汰机制

Redis分配的内存空间满了怎么,Redis可以根据一定的策略筛选出一些数据,将这些数据从缓存中删除,为新来的数据腾出新的空间。

2022-11-22 10:29:13 444

原创 6、Redis内存碎片优化

二是Redis键值大小不一和删改操作,Redis申请内存分配空间时,本身就会有键值大小不一的空间需求,然后这些键值会被修改和删除,如修改变大或变小,就需要额外占用空间或释放不用的空间。为了尽可能的减少内存碎片清理对Redis正常请求的影响,Redis内存碎片在清理执行时,还会监控清理操作占用CPU的时间,设置了两个参数,分别用于控制清理操作占用CPU时间比例的上、下限。(2)Redis 4.0-RC3版本对接下,Redis自身提供了一种内存碎片自动清理的方法,简单来说就是:搬家让位,合并空间。

2022-11-08 11:31:47 1399

原创 5、影响Redis性能的潜在因素

从库需要对客户端提供数据存储服务,就必须把RDB文件加载完成,优化建议是Redis实例不要过大,这样可以减小RDB文件大小,加快加载速度。AOF配置成:everysec选项(极端情况有丢失数据的风险,对于数据存储要求没那么高的可以以配置)可以采用后台子线程异步方式处理,FLUSHDB和FLUSHALL命令后增另ASYNC选项,Redis 4.0之前的版本,建议用SCAN命令。学习《Redis核心技术与实战》整理学习笔记

2022-11-03 09:27:04 359

原创 4、Redis作为消息队列

目前消息队列有:Kafka,RabbitMQ等专门做为消息队列的重量级组件,Redis作为一种轻量级的消息队列组件在实际业务应用中也可以做为一种备选的消息队列方案。BRPOPLPUSH:阻塞式消息读取,并把读取的消息插入备份队列,如果消费程序异常,可以重新从备份队列中读取消息。RPOP:消息出队列,非阻塞方式,需要不停轮询,消耗消费者CPU。二、基于Redis 5.0开始的Streams的消息队列。BRPOP:阻塞式消息读取,无消息时自动阻塞。学习《Redis核心技术与实战》整理学习笔记

2022-11-01 08:59:28 253

原创 3、String真的节省空间吗

key:Long 占8字节,value:Long 占8字节,只需要16字节就可以了,实际保存后,每个占用了64个字节,这64个字节用在哪了?学习《Redis核心技术与实战》整理学习笔记

2022-10-28 10:03:55 901

原创 2、Redis单线程高性能

Redis真的是单线程吗,Redis是怎么做到单线程高性能的。学习《Redis核心技术与实战》整理学习笔记

2022-10-24 20:00:04 300

原创 1、Redis数据结构

Redis基础结构:String(字符串),List(列表),Hash(哈希),Set(集合),SortedSet(有序集合)学习《Redis核心技术与实战》整理学习笔记

2022-10-24 19:57:26 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除