Redis5种常用的数据结构

一、数据结构

  五种常用的数据结构:string、hash、list、set、zse,以及三种不常用的:hyperloglog、geospatial、streams。

二、常用数据结构的使用

  1、String键

    

    

    

    字符串键的使用场景:如分布式锁、计数器、分布式全局序列ID

  2、Hash键

    

     

      

    存在的最主要的意义就是:减少内存的占用,原因在于比如对key的过期时间的扫描,只需要扫描第一层key即可

    

    Redis采用的数据分配方案是预分配16384个hash槽,Hash键可以理解成是通过用第一层的key对数据做的一个分组,那么所有的数据都会被分配到同一个hash槽里面,不符合正常的数据量分布的需求

    

  3、List键

    

    

    

  4、Set键

    

    

    

    可对SADD key {userID}  添加对应的后缀,如{userID_*}用来控制用户刷多次里面,提供用户的中奖概率,在抽取结果中,解析value获取前部的userID即可。

    

    

    

    

  5、ZSet键(score相等,则根据元素的ASCII码比较)

    

    

    

    

原文地址:https://www.cnblogs.com/xufan/p/10790509.html

时间: 2024-11-07 02:39:41

Redis5种常用的数据结构的相关文章

【Machine learning(python篇)】-几种常用的数据结构

python中有多种数据结构,数据结构之间也可以相互转化,概念一多就容易使人混淆,对于初学者来说本来很容的概念,最终却变成了噩梦,很难区分不同数据结构之间的用法,这样就会造成乱用数据结构,致使运行效率低下.对于较简单的程序来说乱用数据结构不会有太大的问题,但涉及到大数据运算,可能一个数据类型就会导致内存吃满,这时善用数据结构就会变的尤为重要. 一.list列表类型 list类型是Python中内置的, list中包含的数据之间的类型可以不相同,并且list中数据保存的是数据的指针,因为数据类型不

php SPL四种常用的数据结构

1.栈[先进后出] <span style="font-size:18px;">$stack = new SplStack();$stack->push('data1');$stack->push('data2');$stack->push('data3');echo $stack->pop(); //输出结果为//data3</span><span style="font-size:24px;font-weight: b

java 中几种常用数据结构

Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类. 一.几个常用类的区别 1.ArrayList: 元素单个,效率高,多用于查询 2.Vector: 元素单个,线程安全,多用于查询 3.LinkedList:元素单个,多用于插入和删除 4.HashMap: 元素成对,元素可为空 5.HashTable: 元素成对,线程安全,元素不可为空 二.Vector.ArrayList和L

java中常用的数据结构--Collection接口及其子类

java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类. 一.集合和数组的区别 二.Collection集合和Map集合 三.Collection接口 1.定义 public interface Collection<E> extends Iterable<E> {} 它是一个接口,是高度抽象出来的集合,它包含了集合的基本操作:添加.删除.清空.遍历(读取).是否为空.

在使用R做数据挖掘时,最常用的数据结构莫过于dataframe了,下面列出几种常见的dataframe的操作方法

原网址 http://blog.sina.com.cn/s/blog_6bb07f83010152z0.html 在使用R做数据挖掘时,最常用的数据结构莫过于dataframe了,下面列出几种常见的dataframe的操作方法.1.查看数据 head(dataframe) # 查看数据前10行tail(dataframe) # 查看数据后10行 2.合并数据(1)data.frame(x,y)x,y是dataframe或者一列数据,x和y的行数一样,该操作得到一个新的dataframe,该dat

Unity3D中常用的数据结构总结与分析

Unity3D中常用的数据结构总结与分析 c#语言规范 阅读目录 1.几种常见的数据结构 2.几种常见数据结构的使用情景 来到周末,小匹夫终于有精力和时间来更新下博客了.前段时间小匹夫读过一份代码,对其中各种数据结构灵活的使用赞不绝口,同时也大大激发了小匹夫对各种数据结构进行梳理和总结的欲望.正好最近也拜读了若干大神的文章,觉得总结下常用的数据结构以供自己也能灵活的使用变得刻不容缓.那么还是从小匹夫的工作内容入手,就谈谈在平时使用U3D时经常用到的数据结构和各种数据结构的应用场景吧. 回到目录

游戏制作中的大宝剑---常用的数据结构与算法

前言 时间流逝,物是人非,就好像涌动的河流,永无终焉,幼稚的心智将变得高尚,青年的爱慕将变得深刻,清澈之水折射着成长. ----------<塞尔塔传说> PS:为了方便大家阅读,个人认为比较重要的内容-------红色字体显示 个人认为可以了解的内容-------紫色字体显示 --------------------------------------------------------------------------- ---------------------------------

五种常用的图片格式及其是否有数据压缩的总结

五种常用的图片格式及其是否有数据压缩的总结 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:本文主要介绍五种最常见和最常用的图像格式:BMP,PNG,JPEG,JPEG200,以及GIF.在进行图像处理相关应用之前第一步首先是能够读取这些图像文件,虽然很多开发工具支持库比如OpenCV等已经帮助节省了这些工作的麻烦,便利的同时也使得开发人员不再熟悉这些基本的图像格式.本文的作用就在于将这五种常用的图像格式进行分条叙述,方便查阅. 内容借鉴主流图片格

五种常用的算法设计技巧之二:分治算法

一,介绍 分治算法主要包含两个步骤:分.治.分,就是递归地将原问题分解成小问题:治则是:在解决了各个小问题之后(各个击破之后)合并小问题的解,从而得到整个问题的解 二,分治递归表达式 分治算法一般都可以写出一个递归表达式:比如经典的归并排序的递归表达式:T(N)=2T(N/2)+O(N) T(N)代表整个原问题,采用了分治解决方案后,它可以表示成: ①分解成了两个规模只有原来一半(N/2)的子问题:T(N/2) ②当解决完这两个子问题T(N/2)之后,再合并这两个子问题需要的代价是 O(N) 递