「Redis 笔记」数据类型
REmote DIctionary Server(Redis),一个 key-value 存储系统。
数据类型
Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
- string
- string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。
- string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB。
- 相关命令:
set,get
bash 127.0.0.1:6379> set str1 hello OK 127.0.0.1:6379> get str1 "hello"
- hash
- hash 是键值对的集合。
- 每个 hash 可以存储 2^32 - 1 个(超过 40 亿个)键值对。
- 相关命令:
hmset,hmget,hgetall
bash 127.0.0.1:6379> hmset hashmap1 name hiwangzi blog hiwangzi.com OK 127.0.0.1:6379> hmget hashmap1 name 1) "hiwangzi" 127.0.0.1:6379> hgetall hashmap1 1) "name" 2) "hiwangzi" 3) "blog" 4) "hiwangzi.com"
- list
- list 是字符串列表,按插入顺序排序。
- 列表的最大长度为 2^32 - 1 个元素。
- 相关命令:
lpush,lrange
bash 127.0.0.1:6379> lpush list1 a b (integer) 2 127.0.0.1:6379> lrange list1 0 100 1) "b" 2) "a" 127.0.0.1:6379> lpush list1 c (integer) 3 127.0.0.1:6379> lrange list1 0 2 1) "c" 2) "b" 3) "a"
- set
- set 是字符串的无序集合。
- 添加,删除和验证成员是否存在的时间O(1)复杂性。
- set 的最大成员数量为 2^32 - 1 个元素。
相关命令:
sadd,smembers
```bash
127.0.0.1:6379> sadd set1 a b
(integer) 2
127.0.0.1:6379> smembers set1
1) "b"
2) "a"
127.0.0.1:6379> sadd set1 c
(integer) 1
127.0.0.1:6379> smembers set1
1) "b"
2) "c"
3) "a"
127.0.0.1:6379> sadd set1 a
(integer) 0
127.0.0.1:6379> smembers set1
1) "b"
2) "c"
3) "a"# a 被添加了两次,但集合有唯一属性,所以只会存储一个。
```
- zset
- zset = sorted set
- Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复。
- 相关命令:
zadd,zrange,zrangebyscore
bash 127.0.0.1:6379> zadd zset_test 0 redis (integer) 1 127.0.0.1:6379> zadd zset_test 0 mongodb (integer) 1 127.0.0.1:6379> zadd zset_test 1 sqllite (integer) 1 127.0.0.1:6379> zadd zset_test 1 sqllite (integer) 0 127.0.0.1:6379> zrange zset_test 0 1000 1) "mongodb" 2) "redis" 3) "sqllite" 127.0.0.1:6379> zrangebyscore zset_test 0 1000 1) "mongodb" 2) "redis" 3) "sqllite"
参考
「Redis 笔记」数据类型的更多相关文章
- 「Redis 笔记」常用命令
编号 命令 描述 1 DEL key 此命令删除一个指定键(如果存在). 2 DUMP key 此命令返回存储在指定键的值的序列化版本. 3 EXISTS key 此命令检查键是否存在. 4 EXPI ...
- 「学习笔记」Min25筛
「学习笔记」Min25筛 前言 周指导今天模拟赛五分钟秒第一题,十分钟说第二题是 \(\text{Min25}\) 筛板子题,要不是第三题出题人数据范围给错了,周指导十五分钟就 \(\text{AK ...
- 「学习笔记」FFT 之优化——NTT
目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...
- 「学习笔记」FFT 快速傅里叶变换
目录 「学习笔记」FFT 快速傅里叶变换 啥是 FFT 呀?它可以干什么? 必备芝士 点值表示 复数 傅立叶正变换 傅里叶逆变换 FFT 的代码实现 还会有的 NTT 和三模数 NTT... 「学习笔 ...
- 「学习笔记」Treap
「学习笔记」Treap 前言 什么是 Treap ? 二叉搜索树 (Binary Search Tree/Binary Sort Tree/BST) 基础定义 查找元素 插入元素 删除元素 查找后继 ...
- 「算法笔记」快速数论变换(NTT)
一.简介 前置知识:多项式乘法与 FFT. FFT 涉及大量 double 类型数据操作和 \(\sin,\cos\) 运算,会产生误差.快速数论变换(Number Theoretic Transfo ...
- 「学习笔记」字符串基础:Hash,KMP与Trie
「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...
- 「算法笔记」树形 DP
一.树形 DP 基础 又是一篇鸽了好久的文章--以下面这道题为例,介绍一下树形 DP 的一般过程. POJ 2342 Anniversary party 题目大意:有一家公司要举行一个聚会,一共有 \ ...
- 「学习笔记」wqs二分/dp凸优化
[学习笔记]wqs二分/DP凸优化 从一个经典问题谈起: 有一个长度为 \(n\) 的序列 \(a\),要求找出恰好 \(k\) 个不相交的连续子序列,使得这 \(k\) 个序列的和最大 \(1 \l ...
随机推荐
- SPLAY or SPALY ?
写在前面: 由我们可爱的Daniel Sleator和Robert Tarjan提出的一种数据结构,平衡树的一种,本质是二叉树. 至于到底是splay还是spaly,我认为可能splay更对一些 毕竟 ...
- 【剑指Offer】8、跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 解题思路: 首先考虑最简单的情况,如果只有1级台阶, ...
- vue部署到nginx服务下,非根目录,刷新页面404怎么解决?
nginx配置 location / { proxy_pass http://xxxx; } location /category { root /home/tv; index index.html; ...
- VMware无法安装故障总结
暂时遇到如下问题,并按此步骤可以解决,后续如有其它相关问题将继续更新: 1.无法获得 VMCI 驱动程序的版本: 句柄无效.如下图: 找到.vmx后缀配置文件 将如下白标""TRU ...
- vue 对图片进行拖拽到另一个位置
1.拖动元素代码: 使用html5原生拖拽属性,在需要拖拽的图片中添加draggable="true"属性,并使用v-on添加拖动事件 2.被放置的区域事件代码: 使用html5原 ...
- Spring Boot学习总结(3)——SpringBoot魅力所在
使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统.经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的 ...
- Java Web学习总结(19)——web.xml配置详解
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...
- js 元素遍历
2018-06-26 //百度首页测试 var i, len = 0, element = document.querySelector('#s_form_wrapper'), child = ele ...
- C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素
转自原文 C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素 有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性 ...
- POJ 1985
求一棵树内最远的两点,DFS,顺便记录以某节点为根内最远的两点的距离,返回最远点的距离.其实是DP. #include <cstdio> #include <iostream> ...