Redis学习之缓存数据类型
Redis缓存数据类型有5种,分别是String(字符串)、List(列表)、Hash(哈希)、Set(无序,不重复集合)、ZSet(sorted set:有序,不重复集合)。
String(字符串)
string类型是redis最近的类型,一个key对应一个value。
Redis中的String类型是二进制安全的,可以包含任何数据。例如序列化的对象或者图片。
String类型一个键最大能存储 512M。
Redis中对String类型的赋值命令是SET,取值命令是GET。
实例:
通过set命令,加入key为myKey,对应的值为testString的缓存数据
List(列表)
Redis列表类型是简单的字符串列表,按照插入的顺序排序。
每个List最多可存储 232 - 1 个元素(40多亿)。
Redis中List类型通过lpush命令赋值,通过lrange命令取值。
实例:
key值为test-list,存入的value值分别为Java、PHP、C++。
Hash(哈希)
Redis的hash是一个键值对集合,特别适合用于存储对象。
每个hash最多可存储 232 - 1 个元素(40多亿)。
Redis中的hash类型通过HMSET命令赋值,HEGTALL命令取值。
实例:
key值时user,对应的value值是里面的键值对集合。
Set(无序,不重复集合)
Redis的set是没有顺序和不重复的集合类型,String类型的无序集合。
通过sadd命令添加元素到集合,smembers命令获取集合。
集合中最大的成员数为 232 - 1 个(40多亿)。
实例:
用sadd命令添加缓存数据,若添加成功,则放回1。若返回0,则代表添加失败,例如value值重复。
上面的实例中C++被添加了两次,set是不重复集合,元素的唯一性,第二次添加会被忽略。
ZSet(有序,不重复集合)
Redis中的zset集合有顺序但里面元素不会重复,String类型的有序集合。
zset每个元素都会绑定一个double类型的数值,集合按照该数值升序排序,数值可以重复,但value值不可以重复。
通过zadd命令添加元素到集合,如果元素在集合中已经存在,则更新对应的double类型数值。通过ZRANGEBYSCORE命令获取zset集合元素。
实例:
keys * 命令
通过keys * 命令查找缓存中所有的key值。
实例:
Redis学习之缓存数据类型的更多相关文章
- Redis学习笔记1-Redis数据类型
Redis数据类型 Redis支持5种数据类型,它们描述如下: Strings - 字符串 字符串是 Redis 最基本的数据类型.Redis 字符串是二进制安全的,也就是说,一个 Redis 字符串 ...
- Redis学习手册(Set数据类型)
一.概述: 在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加.删除或判断某一元素是否存在等操作.需要说明的是,这些操作的时间复杂度 ...
- Redis学习之二 数据类型和相关命令
原文:https://www.cnblogs.com/lonelyxmas/p/9073928.html 如果还不懂安装的,请看 Windows环境下安装Redis Redis一共支持五种数据类型 1 ...
- Redis 学习-安装、数据类型与 API 理解、Java 客户端
本博客是在学习<Redis从入门到高可用,分布式实践>教程时的笔记. 同时参考: https://www.cnblogs.com/jiang910/p/10020048.html 一.Re ...
- Redis学习手册(Sorted-Sets数据类型)
一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score ...
- Redis学习手册(List数据类型)
一.概述: 在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,Redis ...
- Redis学习手册(Hashes数据类型)
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...
- Redis学习手册(String数据类型)
一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...
- Redis学习之路(006)- Redis学习手册(Hashes数据类型)
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...
随机推荐
- Centos操作命令
查看已经开放的端口:firewall-cmd --list-ports 开启端口:firewall-cmd --zone=public --add-port=80/tcp --permanent 重新 ...
- php开发面试题---游戏面向对象设计与分析实例
php开发面试题---游戏面向对象设计与分析实例 一.总结 一句话总结: 不要光空想,多看几个实例就知道自己的游戏该怎么设计了 根据实例去理解面向对象编程的的六大原则 1.英雄种类分别有:战士.法师. ...
- nteract 使用教程
安装 直接去官网下载 一路回车 官网 建立python虚拟环境 和我们平时一样 不同的是在建立完之后 要安装一个kernel Using Python3 with pip and a virtual ...
- Devstack 多节点自动化部署
本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...
- idea无法引用jar包中的class
最近由eclipse换idea的过程中,出现了一个很奇妙的问题! 项目是maven+git+idea管理的,idea某次在使用的过程中,电脑死机重启后,发现无法引用jar包中的class.包括jdk中 ...
- C++——decltype
, &cj=ci; decltype(ci) x=;//x的类型是const int decltype(cj) y=x;//y的类型是const int & decltype(cj) ...
- C#之winform 猜拳小游戏
C#之winform 猜拳小游戏 1.建立项目文件 2.进行界面布局 2.1 玩家显示(控件:label) 2.2 显示玩家进行选择的控件(控件:label) 2.3 电脑显示(控件:label) ...
- ocaml学习
ocaml与haskell一样,是functional programming的代表. 对于有一定编程经验的人来说,入手一种新语言,最有效的方式就是开发一些实用的utility,因此top-level ...
- Codeforcs 1183B Equalize Prices
题目链接:codeforces.com/problemset/problem/1183/B 题意:给你 n 个数,每个数能在k范围内上下浮动,求能否使所有数相等,能输出相等的最大值,不能输出 -1. ...
- mkdir无法创建目录权限不够
https://idc.wanyunshuju.com/cym/40.html 由于在公司服务器上权限问题比较复杂,我们解决这个问题是寻求服务器端人员的意见.让他们授予权限/.