1.3.3 实例及资源使用规范 【建议】单一职责原则:一个业务使用一个实例,避免多个业务共用一个实例; 这个是指做Redis实例拆分的时候,尽量按照业务领域去拆分。并不是指一个业务程序只能调用一个缓存实例。 做隔离一方面是避免业务相互影响,另一方面避免单实例膨胀,并能在故障时降低影响面,快速恢复。 【建议】单个实例...
8) 使用长连接操作 Redis,合理配置连接池 你的业务应该使用长连接操作 Redis,避免短连接。 当使用短连接操作 Redis 时,每次都需要经过 TCP 三次握手、四次挥手,这个过程也会增加操作耗时。 同时,你的客户端应该使用连接池的方式访问 Redis,并设置合理的参数,长时间不操作 Redis 时,需及时释放连接资源。 9) 只...
1、线上Redis禁止使用Keys正则匹配操作 redis是单线程处理,在线上Key数量较多时,操作效率极低【时间复杂度为O(N)】,该命令一旦执行会严重阻塞线上其它命令的正常请求,而且在高QPS情况下会直接造成redis服务崩溃!如果有类似需求,请使用scan命令代替。 六、其他 1、redis同步工具 阿里云的redis-shake工具,方便快速 2、...
1.缓存功能:使用redis作为缓存层,mysql做为存储层,将部分常用数据放入到redis中,由于redis具有高并发的特性,所以可以缓存可以起到加速读写和减轻后端压力的左右 2.计数:很多模块可以使用Redis作为技术工具,它可以实现原子操作,保证数据的准确性,常用功能有短信发送,支付密码次数校验等 3.共享Session:一个分布式...
一、基础规范【5条】 1. 必须配置访问密码 解读:裸奔的Redis除了方便被外部盗取数据外,内部管理上也极易出现误操作风险,如误连造成数据被覆盖、丢失! 2.必须以非root用户启动 解读:Redis的设计过于灵活,这直接让攻击者可以远程通过root运行的redis服务获取到操作系统root权限!
8. 配置 Redis 的最大内存限制 Redis 使用内存作为数据存储,因此需要合理配置最大内存限制,防止内存溢出和系统崩溃。可以通过配置文件或命令行参数来设置 Redis 的最大内存限制。当达到最大内存限制时,Redis 提供了不同的策略来处理新写入的数据,如删除最近最少使用的数据(LRU算法)或随机删除数据。根据实际需求和系统...
二、命令使用 1.【推荐】 O(N)命令关注N的数量 例如hgetall、lrange、smembers、zrange、sinter等并非不能使用,但是需要明确N的值。有遍历的需求可以使用hscan、sscan、zscan代替。 2.【推荐】:禁用命令 禁止线上使用keys、flushall、flushdb等,通过redis的rename机制禁掉命令,或者使用scan的方式渐进式处理。 3.【...
Redis使用规范 redis介绍以及使用,一、基础知识定义:redis是开源的、高性能的key-value存储系统,常被称为数据结构服务器。数据类型:字符串(Strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)。优点:a.性能极高:支持超过100k+每秒的读写频率b.丰
Redis 使用规范分为两大方面,主要包括业务层面和运维层面。 业务层面主要面向的业务开发人员: 1、key 的长度尽量短,节省内存空间 2、避免 bigkey,防止阻塞主线程 3、4.0+版本建议开启 lazy-free 4、把 Redis 当作缓存使用,设置过期时间 5、不使用复杂度过高的命令,例如SORT、SINTER、SINTERSTORE、ZUNIONSTORE、ZINTE...