初识Redis系列之三:Redis支持的数据类型及使用
支持的数据类型有五种:
string(字符串)、hash(哈希)、list(列表)、set(集合)及zset(sorted set:有序集合);
下面分别对这几种类型进行简单的Redis存取操作
1:string(字符串)
几种里面最常用,也是最简单的类型,使用方式如下:
redis 127.0.0.1:6379> SET name "runoob"
OK
redis 127.0.0.1:6379> GET name
"runoob" 注意:一个键最大能存储512MB。这个容量已经是相当大了,基本不可能超过,纯字符串哪里会超过512M的,所以放心使用即可!
2:hash(哈希)
哈希是一个键名对类型的,键和值都是string类型的,适合存储一个对象,例如我要存储一个叫zhangsan的人,年龄 26岁,身高180:
127.0.0.1:6379> HMSET zhangsan age 26 height 180
OK
127.0.0.1:6379> HGETALL zhangsan
1) "age"
2) "26"
3) "height"
4) "180"
每个 hash 可以存储 232 -1 键值对(40多亿),也完全够用了
3:list(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> lpush runoob redis(从最左边插入)
(integer) 1
redis 127.0.0.1:6379> rpush runoob mongodb(从最右边插入)
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabitmq(从最左边插入)
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10(返回第1个到第10个值,lrange runoob 0 -2->表示从左边第一个到右边倒数第二个)
1) "rabitmq"
2) "redis"
3) "mongodb"
4:set(集合)
Redis的Set是string类型的无序集合。无序但唯一,不重复
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。
redis 127.0.0.1:6379> sadd runoob redis mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers runoob
1) "rabitmq"
2) "mongodb"
3) "redis"
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员),完全够用
5:zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd key score member (语法)
redis 127.0.0.1:6379> zadd runoob 0 redis 1 mongodb
(integer) 2
redis 127.0.0.1:6379> zadd runoob 2 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 2 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000 (从0到1000分按分数排序) 1) "redis"
2) "mongodb"
3) "rabitmq"
初识Redis系列之三:Redis支持的数据类型及使用的更多相关文章
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- Redis系列(一):Redis的简介与安装
原文链接(转载请注明出处):Redis系列(一):Redis的简介与安装 什么是 Redis Redis 是一个使用ANSI C 编写的开源.支持网络协议.基于内存.可选持久性的键值对数据库,它是一个 ...
- Redis系列一 Redis安装
Redis系列一 Redis安装 1.安装所使用的操作系统为Ubuntu16.04 Redis版本为3.2.9 软件一般下载存放目录为/opt,以下命令操作目录均为/opt root@ubunt ...
- redis系列:redis介绍与安装
前言 这个redis系列的文章将会记录博主学习redis的过程.基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的. 博主在写这个系列是用的是目前最新版本4.0.10,虚拟 ...
- 【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 typedef struct redisDb src\server.h 中 ...
- 深入剖析Redis系列: Redis集群模式搭建与原理详解
前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...
- Redis系列之----Redis的两种持久化机制(RDB和AOF)
Redis的两种持久化机制(RDB和AOF) 什么是持久化 Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...
- Redis系列之----Redis的数据类型及使用场景
Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,能够提供多种不同的键值数据类型来适应不同场景下的缓存和存储需求. Redis中所有的数据都存储在内存中,因此读写速度非常快,相 ...
- Redis系列三 Redis数据类型
一 .Redis的五大数据类型 1.String(字符串) string是redis最基本的数据类型,可以理解成与 Memached一模一样的数据类型,一个key对应一个value. string 类 ...
随机推荐
- HTTP与私有二进制协议之间的区别
简单的文本协议.二进制协议 写网络程序躲不过协议,协议其实就是定义了消息的格式,以及消息是如何交换的.协议可简单可复杂,复杂精密如TCP协议,简单奔放如HTTP的协议.这里将我所接触到的协议稍微总结一 ...
- GIT入门笔记(19)GIT 小结
1.add和commit为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:$ git add file1.txt$ g ...
- SpringCloud是什么?
参考链接: http://blog.csdn.net/forezp/article/details/70148833 一.概念定义 Spring Cloud是一个微服务框架,相比Dubbo ...
- keepalive配置支持ipv6、ipv4双棧支持
因公司业务需要,keepalived需要同时支持ipv6和ipv4 keepalived版本1.2.23. keepalived 配置: 重点:ipv6的虚IP配置在 virtual_ipaddres ...
- vue2路由
我们在前面的学习过程中不管是在学习angular还是vue1,都会遇到二级路由,我们现在先来看一下vue2中的一级路由. 首先要引入的是vue2与路由文件. js代码: <script> ...
- .NET Core 2.1 Preview 2发布 - April 10, 2018
我们今天宣布发布 .NET Core 2.1 Preview 2.这也是我们在接下来的两到三个月内接近最终发布的版本,该版本现已准备好进行广泛的测试.我们希望您有任何反馈意见. ASP.NET Cor ...
- POJ-2109 Power of Cryptography(数学或二分+高精度)
题目链接: https://vjudge.net/problem/POJ-2109 题目大意: 有指数函数 k^n = p , 其中k.n.p均为整数且 1<=k<=10^9 , 1< ...
- POJ-3295 Tautology---栈+表达式求值
题目链接: https://vjudge.net/problem/POJ-3295 题目大意: 输入由p.q.r.s.t.K.A.N.C.E共10个字母组成的逻辑表达式WFF 其中 ...
- 多线程编程、java图形用户界面编程、Java I / O系统
线程概述 进程:是一种 “自包容”的运行程序 线程是进程当中的一个概念,最小处理单位 THread类.Runnable接口.Object类 创建新执行线程有两种方法:1:一种方法是将类声明为Threa ...
- Select下拉列表选择自动提交form表单数据
HTML代码: <form action='__CONTROLLER__/index' method="get" id="myform"> < ...