引语

这个章节主要讲解了三部分内容:

如何设计并管理Redis的键以及与其关联的数据结构;

了解并使用Redis客户端对象映射器;

介绍如何利用大O标记来评估Redis性能。

键与数据结构

我们先来看书中的一段原话:

运行32位还是64位版本的Redis将决定Redis键大小的实际限制。对于32位的版本来说,任何长于32的键名需要更多的字节空间,因此增加了Redis的内存使用。使用64位版本的Redis允许更长的键长度,但是对于短小的键来说,也会分配完整的64位空间,从而导致额外的空间浪费。

Redis本身对于键的命名本身并没有做过多的限制,但在实际的应用场景中,我们的Redis服务器不大可能给单一业务来使用,如果没有相关规范,开发A使用了名称“RedisKey_1”,开发B也使用了名称“RedisKey_1”,但他们并没有去做沟通,那么业务就很容易出现问题;又或者去使用A、B、C、D、1、2、3、4这种无意义的Key,即不利于阅读,也很容易冲突。书的原文中通过大量篇幅列举了如何去给Key命名,总结下来有三点:

不推荐太长的键,这样做不仅会大量消耗内存,也会提高查找的计算成本,也会让其他开发者感到困惑;

不推荐太短的键,例如使用“u_1”这种形式的键,虽然很短,但实在是得不偿失,不仅仅让开发者感到困惑还提高了键冲突的可能;

官方推荐统一的命名,如:lib

jredis和letucce_深入理解Redis(一)——高级键管理与数据结构相关推荐

  1. jredis和letucce_关于redis提供给java的 jredis和jedis的使用

    一.简介 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合(list,set ,sorted se ...

  2. Redis进阶实践之五Redis的高级特性

    一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今天我们开始介绍一些Redis的高级特性,虽然 ...

  3. 深入理解Redis主键失效原理及实现机制

    2019独角兽企业重金招聘Python工程师标准>>> 作为一种定期清理无效数据的重要机制,主键失效存在于大多数缓存系统中,Reids也不例外.在Redis提供的诸多命令中, EXP ...

  4. cxgrid主从表 点+号展开_深入理解Redis主从复制

    一.背景 前面的文章中,我们介绍过Redis的持久化机制,它可以实现Redis实例数据的crash-safe.但是这里有一个问题,就是Redis其实还存在着单点故障问题,比如说Redis的硬盘坏掉了, ...

  5. redis集群扩容和缩容_深入理解Redis Cluster集群

    一.背景 前面的文章<深入理解Redis哨兵机制>一文中介绍了Redis哨兵集群的工作原理,哨兵集群虽然满足了高可用的特性,但是依然存在这样的问题:即数据只能往一个主节点上进行写入. 只能 ...

  6. curl 请求没反应_理解Redis的反应堆模式

    本文首发于: 理解Redis的反应堆模式​mp.weixin.qq.com 微信公众号:后端技术指南针 欢迎关注 接收最新文章! 1. Redis的网络模型 Redis基于Reactor模式(反应堆模 ...

  7. 深入理解redis复制原理

    深入理解redis复制原理 1.复制过程 2.数据间的同步 3.全量复制 4.部分复制 5.心跳 6.异步复制 1.复制过程 从节点执行 slaveof 命令. 从节点只是保存了 slaveof 命令 ...

  8. 一文带你深入理解Redis中的底层数据结构,再也不怕不懂数据类型的底层了

    数据结构前言 都说Redis快,因为什么呢?只是因为它是内存数据库,所有操作都是基于内存进行的吗?其实不然,这与它的数据结构也是密不可分的.下面我们就来了解一下Redis的数据结构. Redis 数据 ...

  9. Redis学习(一)—生活中实用场景帮助理解redis的五种基本数据类型

    Redis实例目录 (一)String (1)业务场景1--分库分表后获取唯一id (2)业务场景2--数据时效性设置 (3)业务场景3--高频数据访问显示 实现方式一 实现方式二 (二)Hash ( ...

最新文章

  1. 逼格高又实用的 Linux 命令,运维同仁一定要懂
  2. Improved Alpha-Tested Magnification for Vector Textures and Special Effects
  3. 2020-11-14(移位运算)
  4. data spring 指定时区_SpringBoot 统一时区的方案
  5. SQL 分组统计并返回当前行
  6. 洛谷P1450:硬币购物(背包、容斥)
  7. 乐播投延迟很高_大屏也要高刷新!华为4K@120智慧屏初体验,屏幕软件都够硬
  8. ACL'21 | debug完的神经网络,如何测试是否仍然存在bug?
  9. html二级下拉菜单模板,基于jQuery实现二级下拉菜单效果
  10. matlab 全部的随机数函数
  11. 深入JVM-性能监控工具
  12. 使用ElasticSearch6.0快速实现全文搜索功能
  13. 佳博热敏打印机修改ip工具_佳博打印机修改ip教程本教程适用于80系列打印机及3150,9035打印.doc...
  14. 『搬运』分享一些国内外的专利搜索网站
  15. php background,CSS BACKGROUND定位背景上下左右偏移
  16. 身份证实名认证API接口,选择的时候应该注意什么?
  17. 关于Obj-c代码静态扫描 iPhone代码静态扫描的问题(clang-analyzer)
  18. 使用存储过程返回结果集
  19. Spring Boot集成Mybatis-Plus多租户架构实战
  20. 破解手机辐射危害健康的流言

热门文章

  1. scrapy 自动下载图片
  2. 运用Mono.Cecil 反射读取.NET程序集元数据
  3. 华为网络技术培训笔记之常用网络工具(一)
  4. php odbc连接mysql数据库_PHP 使用 ODBC 连接 Mysql 数据库
  5. c语言中未声明的标识符要怎么办,vc ++未声明的标识符,虽然它已声明
  6. php如何写代码禁用广告,不再显示广告案例(php操作cookie)
  7. 对于软件测试四大误区的认识
  8. java 测试磁盘io,详解三种Linux测试磁盘IO性能的方法总结,值得收藏
  9. 有序充电matlab仿真,电动汽车有序充电策略研究
  10. 诊所系统php,诊所管理系统