当前位置:首页 > 经验 >

redis的正确使用方法(redis的常见使用场景)

来源:原点资讯(www.yd166.com)时间:2022-10-31 22:40:31作者:YD166手机阅读>>

redis使用规范建议

redis的正确使用方法,redis的常见使用场景(1)


key命名规范
  1. 把业务名作为前缀, 然后用冒号分隔,再加上具体的业务数据名比如,存储页面1991的uv。key设计为:uv:page:1991
  2. key不要太长。保证可读性的情况下,尽量简写减少内存的损耗
避免bigkey

Redis 是使用单线程读写数据,bigkey 的读写操作会阻塞线程,降低 Redis 的处理效率。

  1. 对于string类型的value,尽量保持10k以下
  2. 对于集合类型。尽量将集合的元素个数控制在1万以下

如果业务层的 String 类型数据确实很大,我 们还可以通过数据压缩来减小数据大小;

如果集合类型的元素的确很多,我们可以将一个 大集合拆分成多个小集合来保存。

使用整数对象共享池

整数是常用的数据类型,Redis 内部维护了 0 到 9999 这 1 万个整数对象,并把这些整数 作为一个共享池使用。

换句话说,如果一个键值对中有 0 到 9999 范围的整数,Redis 就不会为这个键值对专门 创建整数对象了,而是会复用共享池中的整数对象。

基于这个特点,在满足业务数据需求的前提下,能用整数时就尽量用整数,这 样可以节省内存

使用redis保持热数据不同业务实例隔离数据保存时尽量设置过期时间控制单个 Redis 实例的容量

Redis 单实例的内存大小都不要太大,根据我自己的经验值,建议你设置在 2~6GB

线上禁用不安全命令

一些涉及大量操作、耗时长的命令,就会严 重阻塞主线程,导致其它请求无法得到正常处理,主要是这三个:

keys,flushall,flushdb

管理员用 rename-command 命令在配置文件中对这些命令进行重命名。

慎用monitor命令慎用全量操作命令

对于集合类型的数据来说,如果想要获得集合中的所有元素,一般不建议使用全量操作的 命令(例如 Hash 类型的 HGETALL、Set 类型的 SMEMBERS)。

这些操作会对 Hash 和 Set 类型的底层数据结构进行全量扫描,如果集合类型数据较多的话,就会阻塞 Redis 主 线程。

  1. 可以使用 SSCAN、HSCAN 命令分批返回集合中的数据
  2. 可以化整为零,把一个大的 Hash 集合拆分成多个小的 Hash 集合。
不要把redis当成数据库来用

栏目热文

redis菜鸟教程学习笔记(redis入门教程超详细)

redis菜鸟教程学习笔记(redis入门教程超详细)

一、Redis为什么那么快QPS达到10万/秒用C语言实现基于内存单线程,不用线程上下文切换及加锁二、redis数据类型...

2022-10-31 23:08:58查看全文 >>

redis入门教程超详细(redis详细图解)

redis入门教程超详细(redis详细图解)

【redis是什么】redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数...

2022-10-31 23:27:04查看全文 >>

redis入门教程免费(redis 菜鸟教程)

redis入门教程免费(redis 菜鸟教程)

常用的 SQL 数据库的数据都是存在磁盘中的,虽然在数据库底层也做了对应的缓存来减少数据库的 IO 压力。图片来自 Pe...

2022-10-31 23:04:26查看全文 >>

redis简单入门和实例(redis使用场景及实例)

redis简单入门和实例(redis使用场景及实例)

原文 :https://www.cnblogs.com/Java3y/p/15921480.html我是3y,一年 CR...

2022-10-31 22:56:49查看全文 >>

香菇肉包素馅(鲜肉香菇包馅的做法)

香菇肉包素馅(鲜肉香菇包馅的做法)

香菇油菜包,一款经典的素菜包,以鲜香而惹人喜爱,以营养丰富健康而被称为是“素馅包子”的代表。上周末带家人去济南,晚上到达...

2022-10-31 23:22:38查看全文 >>

redis从零开始教程(redis新手入门知识)

redis从零开始教程(redis新手入门知识)

前言自己在搭建redis服务的时候碰到一些问题,好多人只告诉你怎么成功搭建,但是并没有整理过程中遇到的问题,所有楼主就花...

2022-10-31 23:17:49查看全文 >>

redis详细图解(redis面试必问的三大问题)

redis详细图解(redis面试必问的三大问题)

Redis服务器是一个事件驱动的程序,有以下两类事件:文件事件:Redis服务器通过套接字与客户端或者其他的Redis服...

2022-10-31 23:16:12查看全文 >>

redis 模糊查询(redis集群模糊查询所有数据)

redis 模糊查询(redis集群模糊查询所有数据)

【51CTO.com原创稿件】Hello,Redis!我们相处已经很多年了,从模糊的认识到现在我们已经深入结合,你的好我...

2022-10-31 23:19:27查看全文 >>

redis菜鸟教程(redis入门教程超详细)

redis菜鸟教程(redis入门教程超详细)

实战:20200520验证OK1、宿主机霞新建目录#mkdir -p /opt/redis#mkdir -p /opt/...

2022-10-31 22:55:21查看全文 >>

redis基础知识图解(redis入门手把手学习笔记超详细)

redis基础知识图解(redis入门手把手学习笔记超详细)

什么是哨兵?哨兵(Sentinel)是 Redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,但是单纯的...

2022-10-31 22:52:22查看全文 >>

文档排行