Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型 追求性能极致:客户端缓
1、项目redis使用问题 当前的使用方式是,每个接入的应用要配置核心项目的redis配置。这样是不合理的,核心项目的redis应该只能在核心项目中使用,对外应该是提供api接口或者rpc进行访问。 2、慎用laravel自带的cache功能 laravel自带的cache功能最容易导致大key,经常由于简单使用至今将整个对象模型存储到redis,造成大key。 3...
8) 使用长连接操作 Redis,合理配置连接池 你的业务应该使用长连接操作 Redis,避免短连接。 当使用短连接操作 Redis 时,每次都需要经过 TCP 三次握手、四次挥手,这个过程也会增加操作耗时。 同时,你的客户端应该使用连接池的方式访问 Redis,并设置合理的参数,长时间不操作 Redis 时,需及时释放连接资源。 9) 只...
比如string类型,如果value为'8个字节的长整型'则内部使用int类型,如果value为'小于等于39个字节的字符串'则内部使用embstr类型,如果value为'大于39个字节的字符串'则内部使用raw类型。这样能很好的利用redis的性能。 5. 数据按需存储 不需要的数据千万不要存储在redis,只会浪费内存空间 二、命令使用 1.禁止使用keys...
1.3.3 实例及资源使用规范 【建议】单一职责原则:一个业务使用一个实例,避免多个业务共用一个实例; 这个是指做Redis实例拆分的时候,尽量按照业务领域去拆分。并不是指一个业务程序只能调用一个缓存实例。 做隔离一方面是避免业务相互影响,另一方面避免单实例膨胀,并能在故障时降低影响面,快速恢复。
1.缓存功能:使用redis作为缓存层,mysql做为存储层,将部分常用数据放入到redis中,由于redis具有高并发的特性,所以可以缓存可以起到加速读写和减轻后端压力的左右 2.计数:很多模块可以使用Redis作为技术工具,它可以实现原子操作,保证数据的准确性,常用功能有短信发送,支付密码次数校验等 3.共享Session:一个分布式...
Redis使用规范 在公司项目中,redis属于高频使用,在使用中,我们遇到了各种各样的redis问题,于是针对自身情况梳理了一个redis使用规范。 一、键名设计 1、key名设计 禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符) 建议以业务名为前缀,以冒号分割来构造一定规则的key名(比如业务名:表名:id) ...
一、基础规范【5条】 1. 必须配置访问密码 解读:裸奔的Redis除了方便被外部盗取数据外,内部管理上也极易出现误操作风险,如误连造成数据被覆盖、丢失! 2.必须以非root用户启动 解读:Redis的设计过于灵活,这直接让攻击者可以远程通过root运行的redis服务获取到操作系统root权限!
Redis 是一个开源的高性能键值存储数据库,被广泛应用于缓存、消息队列、计数器等场景。然而,为了充分发挥 Redis 的优势并保证应用的性能和可靠性,我们需要遵循一些使用规范。本文将介绍一些 Redis 使用的规范和最佳实践,以帮助开发人员正确、高效地使用 Redis。
二、命令使用 1.【推荐】 O(N)命令关注N的数量 例如hgetall、lrange、smembers、zrange、sinter等并非不能使用,但是需要明确N的值。有遍历的需求可以使用hscan、sscan、zscan代替。 2.【推荐】:禁用命令 禁止线上使用keys、flushall、flushdb等,通过redis的rename机制禁掉命令,或者使用scan的方式渐进式处理。 3.【...