Redis入门到放弃系列-redis数据类型
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数据类型的更多相关文章
- Redis入门到放弃系列-redis安装
Redis是什么? Redis is an open source (BSD licensed), in-memory data structure store, used as a database ...
- redis入门到精通系列(二):redis操作的两个实践案例
在前面一篇博客中我们已经学完了redis的五种数据类型操作,回顾一下,五种操作类型分别为:字符串类型(string).列表类型(list).散列类型(hash).集合类型(set).有序集合类型(so ...
- redis入门到精通系列(四):Jedis--使用java操作redis详解
(一)前言 如果不把数据库和后端语言联系起来,就起不到数据库应该要起到的作用.Java语言通过JDBC操作mysql,用Jedis操作redis.当然了,java操作redis的方式不止jedis一种 ...
- php从入门到放弃系列-02.php基础语法
php从入门到放弃系列-02.php基础语法 一.学习语法,从hello world开始 PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器&qu ...
- redis入门(15)redis的数据备份和恢复
redis入门(15)redis的数据备份和恢复
- redis入门(14)redis集群下的数据分区存储
redis入门(10)redis集群下的数据分区存储
- [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world
[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...
- [大数据从入门到放弃系列教程]第一个spark分析程序
[大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 **** ...
- php从入门到放弃系列-01.php环境的搭建
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...
随机推荐
- 智能广告投放平台 All in One
智能广告投放平台 All in One app demos 知之数据 一站式广告营销平台 https://hio.cn/ refs https://www.jonmellman.com/posts/p ...
- JavaScript & Automatic Semicolon Insertion
JavaScript & Automatic Semicolon Insertion ECMA 262 真香警告️ https://www.ecma-international.org/ecm ...
- js 实现简单的parseInt和parseFloat
function myParseInt(str: string): number { let result = NaN; for (let i = 0; i < str.length; i++) ...
- 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 ...
- vueJS+ES6开发移动端APP实战项目笔记
一.什么是MVVM框架 MV*包括MVC.MVP.MVVM MVVM框架由Model.View.ViewModel构成. Model指的是数据,在前端对应的是JavaScript对象. View指的是 ...
- PHP反序列化字符串逃逸
通过CTF比赛了解PHP反序列化,记录自己的学习. 借用哈大佬们的名言 任何具有一定结构的数据,如果经过了某些处理而把结构体本身的结构给打乱了,则有可能会产生漏洞. 0CTF 2016piapiapi ...
- django学习-26.admin管理后台里:修改登录页面标题,修改登录框标题,修改首页标题
目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看[site.py]的源码 2.2.第二步:在应用[hello]所在目录里的[admin.py]里重写三个属性的属性值 2.3.第三步:重启服 ...
- Dockerfile多阶段构建原理和使用场景
本文转载自Dockerfile多阶段构建原理和使用场景 导语 Docker 17.05版本以后,新增了Dockerfile多阶段构建.所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 ...
- Spark在处理数据的时候,会将数据都加载到内存再做处理吗?
对于Spark的初学者,往往会有一个疑问:Spark(如SparkRDD.SparkSQL)在处理数据的时候,会将数据都加载到内存再做处理吗? 很显然,答案是否定的! 对该问题产生疑问的根源还是对Sp ...
- 经典面试题:在浏览器地址栏输入一个 URL 后回车,背后发生了什么
尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 CS-Wiki(Gitee 官 ...