设为首页 收藏本站
查看: 609|回复: 0

[经验分享] Redis-1 数据类型

[复制链接]

尚未签到

发表于 2016-12-19 10:05:59 | 显示全部楼层 |阅读模式
1. 概述        
  Redis 不是一个简单的 key-value 存储,实际上它是一个数据结构服务器,并且支持不同种类的值。这意味着,在传统的 key-value 存储中key 和 value 的数据类型都是 string 的,然而在 Redis 中,值不仅仅限制为简单的字符串,它也可以包含复杂的数据结构。
2. 数据类型及简介
  下面是 Redis 支持的数据结构的列表,在后续的教程里面将会分开介绍:
   
  1. 二进制安全的字符串
  2. List:根据插入顺序排序的字符串元素的集合。他们是简单的 linked list ;
  3. Sets:唯一的、未排序的字符串元素的集合;
  4. Sorted Set:它与 Sets 是非常相似的,不过它的所有的字符串元素都与一个被称作分数(score) 的浮点的数字值相关联。这些元素总是按照他们的分数进行排序,所以不像 Sets 一样可以检索一个区间的元素(比如你会说:给我前10个或者最后10);
  5. Hashes:它是由有相对应的值的字段组成的maps。字段和值都是字符串。这个与Ruby 或者 Python 中是非常相似的;
  6. Bit array:或者说是简单的位图(bitmaps),它是你可以使用特定的命令像位数组(array of bits)一样处理字符串:你可以设置或者清空单个位,统计所有的设置为1的位的数量,查找第一个设置或者未设置的位等等;
  7. HyperLogLogs:这是概率估计数据结构,用于估计一个集合的基数。不要害怕,它比它看起来要简单 ... 
   
3. Redis 的键
  Redis 的键是二进制安全的,这意味着你可以使用任何二进制序列作为键值,无论是类似于“foo”的字符串还是一个 JPEG 文件的内容。空字符串也是一个合法的键。
   
  关于键值的一些其他规则:

  • 不要使用非常长的key:例如一个一个1024 字节的键是非常糟糕的,这不仅仅是由于内存的考虑,而且也由于在数据集里的键的查找可能需要一些昂贵的键的比较操作。即使这个任务只是匹配一个大值的存在,使用哈希处理重排序(比如使用SHA1)是一个更好的做法,特别是对于关注与内存和带宽的时候。


  • 非常短的key也不是一个好的做法。如果你可以取而代之使用“user:1000:followers” 的话,没有理由使用“u1000flw”作为键。前者中,与值相比较,键所多战的内存空间是有限的;然而后者明显的消耗的内存要少一些。因此,你的工作就好在二者之间做一个衡量。


  • 严格遵守一个模式。例如 “object-type:id” 是一个非常好的做法例如“user:1000” 。点符号或者短划线常常用于多词的字段,例如 “comment:1234:reply.to” 或者 “comment:1234:reply-to” 。
  哎,今天就先学这么多把,其实我也是在逐步的学习过程中,现在也是想更加系统的学习一下。不知不觉现在已经 00:30 了,还是睡觉把,明天还得起来搬砖呢~
   
  哦,对了,下面依然是我建的一个公众帐号,是脱离于咱们码农行业的,可以关注一下哦,哈哈
DSC0000.jpg
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-316289-1-1.html 上篇帖子: redis的list 功能实践 下篇帖子: Redis笔记(一)纯小白版篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表