Redis数据类型?

Redis 提供一些常用的数据类型:Strings、Lists、Sets、Sorted sets、Hashes、Arrays、Bitmap、Streams

Strings(字符串)

Redis中的字符串类型是一比较简单的值类型,和Memcached的数据类型是一样的。

Redis中的key都字符串结构,我们在使用string类型时,其实就是将字符串(key)映射到另一个字符(value).

常用作一些字符串的业务内容缓存;当然,也可以将其它Object业务对像序列化为字符串之后保存。

字符串类型的常用操作命令:

set get mset mget incr

Lists(列表)

Redis中的列表类型是简单的字符串列表,按照插入顺序排序,可以快速在列表头部或尾部插入元素。该类型类似Java中的LinkedList实现。

Redis Lists使用场景:热点数据列表、还可用作简单的生产-消费队列

Lists的常用操作命令:rpush/lpush lrange rpop/lpop brpop/blpop



Sets(集合)

Redis中的Set是无序字符串集合,集合是通过哈希表实现的。

集合的常用操作命令:sadd/smembers sinter spop sunionstore

Sorted sets(有序集合)

Redis中的有序集合是无序集合与哈希的混合结构,并且不允许有重复的成员。有序集合中的每个元素都与一个float值的score关联。

有序集合中的元素与元素的score的大小一一对应。

常用操作命令:zadd zrange zrevrange zrangebyscore

Hashes(字典)

Redis中的Hash类型是一种键值对集合(field->value),比较适合存放对象。

字典的常用操作命令:hset/hget hmget/hmset

Bitmap(位图)

Redis中的Bitmap不是具体的数据类型,其实就是byte数组,用二进制表示,只有0和1,最大优点之一,存储信息时提供极高的空间节省。

Bitmap实际上是在String类型上定义了一组位操作,最大长为512M

常用操作命令:setbit/getbit bitop bitcount bitpos

Over.

Redis入门到放弃系列-redis数据类型的更多相关文章

  1. Redis入门到放弃系列-redis安装

    Redis是什么? Redis is an open source (BSD licensed), in-memory data structure store, used as a database ...

  2. redis入门到精通系列(二):redis操作的两个实践案例

    在前面一篇博客中我们已经学完了redis的五种数据类型操作,回顾一下,五种操作类型分别为:字符串类型(string).列表类型(list).散列类型(hash).集合类型(set).有序集合类型(so ...

  3. redis入门到精通系列(四):Jedis--使用java操作redis详解

    (一)前言 如果不把数据库和后端语言联系起来,就起不到数据库应该要起到的作用.Java语言通过JDBC操作mysql,用Jedis操作redis.当然了,java操作redis的方式不止jedis一种 ...

  4. php从入门到放弃系列-02.php基础语法

    php从入门到放弃系列-02.php基础语法 一.学习语法,从hello world开始 PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器&qu ...

  5. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  6. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

  7. [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

  8. [大数据从入门到放弃系列教程]第一个spark分析程序

    [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 **** ...

  9. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

随机推荐

  1. 智能广告投放平台 All in One

    智能广告投放平台 All in One app demos 知之数据 一站式广告营销平台 https://hio.cn/ refs https://www.jonmellman.com/posts/p ...

  2. JavaScript & Automatic Semicolon Insertion

    JavaScript & Automatic Semicolon Insertion ECMA 262 真香警告️ https://www.ecma-international.org/ecm ...

  3. js 实现简单的parseInt和parseFloat

    function myParseInt(str: string): number { let result = NaN; for (let i = 0; i < str.length; i++) ...

  4. nasm and golink create a DLL x86

    制作DLL xxx.asm: %macro fb 0 push ebp mov ebp,esp %endmacro %macro fa 1 mov esp,ebp pop ebp ret %1 %en ...

  5. vueJS+ES6开发移动端APP实战项目笔记

    一.什么是MVVM框架 MV*包括MVC.MVP.MVVM MVVM框架由Model.View.ViewModel构成. Model指的是数据,在前端对应的是JavaScript对象. View指的是 ...

  6. PHP反序列化字符串逃逸

    通过CTF比赛了解PHP反序列化,记录自己的学习. 借用哈大佬们的名言 任何具有一定结构的数据,如果经过了某些处理而把结构体本身的结构给打乱了,则有可能会产生漏洞. 0CTF 2016piapiapi ...

  7. django学习-26.admin管理后台里:修改登录页面标题,修改登录框标题,修改首页标题

    目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看[site.py]的源码 2.2.第二步:在应用[hello]所在目录里的[admin.py]里重写三个属性的属性值 2.3.第三步:重启服 ...

  8. Dockerfile多阶段构建原理和使用场景

    本文转载自Dockerfile多阶段构建原理和使用场景 导语 Docker 17.05版本以后,新增了Dockerfile多阶段构建.所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 ...

  9. Spark在处理数据的时候,会将数据都加载到内存再做处理吗?

    对于Spark的初学者,往往会有一个疑问:Spark(如SparkRDD.SparkSQL)在处理数据的时候,会将数据都加载到内存再做处理吗? 很显然,答案是否定的! 对该问题产生疑问的根源还是对Sp ...

  10. 经典面试题:在浏览器地址栏输入一个 URL 后回车,背后发生了什么

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 CS-Wiki(Gitee 官 ...