Redis——五种数据类型

Redis共有strings、hashs、lists、sets、sorted sets五种数据类型,可以说已经比较丰富了。下面只对这几种数据类型的数据结构与用途做简要介绍。至于每种数据类型的操作API,这里只简单一提,不再一一详细介绍,有需要的用户可以Google即可。

一、    strings

string是最简单的类型,一个Key对应一个Value。string类型是类型安全的,Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。存储结构如下:

  常用的API函数有:

  

二、    lists(栈/队列)

List是一个链表结构,主要功能是push/pop,获取一个范围的所有值等等。操作中key就理解为链表的名称。Redis的list类型其实就是每一个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加、删除元素,这样list既可以做栈又可以做队列。存储结构如下:

  常用的API函数有:

  

三、    hashs

Redis的hash是一个string类型的field和value的映射表。五种数据类型中,只有hash是二维的,它特别适合存储对象。相较于将对象的每个字段属性存为单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。存储结构如下:

  常用的API函数有:

  

四、    sets

sets是集合,它是string类型的无序集合。set是通过hash table实现的。它非常类似数学中的集合,所以我们可以取并集、差集、交集。通过这些操作我们可以实现sns中的好友推荐和blog中的tag功能。存储结构如下:

  常用的API函数有:

  

五、    sorted sets

sortedsets是sets的一个升级版本,它在sets的基础上增加了一个顺序属性score。这一属性在添加、修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。存储结构如下:

  

  常用的API函数有:

  

  五种数据类型已介绍完毕,下面给出常用的键值命令与服务器命令:

  

六、    键值相关命令

七、    服务器相关命令

  

八、    五种数据类型存储结构全貌

  

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-10 00:04:26

Redis——五种数据类型的相关文章

redis五种数据类型的使用场景

string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一段内容 设置及获取字符串的某一位(bit) 批量设置一系列字符串的内容 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String, 也可以是数字:比如想知道什么时候封锁一个IP地址(访问超过几次).INCRBY命令让这些变得很容易,

Java 操作 Redis 五种数据类型

项目添加依赖 <!-- Redis 依赖 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> Java 怎么连接 Redis //连接 Redis @Test public void initConn01(){ S

转 redis 五种数据类型的使用场景

http://www.cnblogs.com/lori/archive/2012/05/15/2501862.html Redis学习笔记~Redis提供的五种数据结构 回到目录 分布式缓存,消息队列,替代Session呵呵(Session太不稳定了,呵呵)=Redis Redis的崛起绝非偶然,它确实有自己的新东西在里面,它不像Memcached,只能将数据存储在内存中,它提供了持久化机制,避免了場机后的雪崩的问题,即服务器出现问题后,内存中保留的原始数据全部丢失,需要重新组织数据到内存,这时

redis 五种数据类型

前言 前面学会了单机, 学会了集群, 但是redis咋用啊? 或者说, redis支持哪些数据类型呢? 常用的有五种: String , Hash, List, Set, zset(SortedSet) 一.String String 类型, 在前面也是使用过的. 直接来看一下 可以使用del name来删除缓存 二.List push指令: push分两个, 一个从左边push, 一个从右边push. 但是这个左右, 是对准备push的值而言的. 而不是针对将要push的数组来说的. pop指

《闲扯Redis三》Redis五种数据类型之List型

一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. Redis 中的 list 是我们经常使用到的一种数据类型,根据使用方式的不同,可以应用到很多场景中. 二.操作命令 ?List数据类型在 Redis 中的相关命令:: 命令 描述 用法 LPUSH 1.将一个或多个值value插入到列表key的表头2.如果有多个value值,那么各个value值按

redis五种数据类型应用场景

String 1.String   常用命令:   除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作:   获取字符串长度   往字符串append内容   设置和获取字符串的某一段内容   设置及获取字符串的某一位(bit)   批量设置一系列字符串的内容      2.应用场景:   String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String,   也可以是数字:比如想知道什么时候封锁一个IP地址(

[redis]redis五种数据类型命令汇总整理

redis所有命令参考中文版 键key 命令 时间复杂度 命令描述 返回值 del key O(N) 在key存在时删除key 被移除key的数量 dump key O(N) 序列话给定key,并返回被序列化的值 exists key O(1) 检查给定key是否存在 若key存在,返回1,否则返回0. expire key seconds O(1) 为给定key设置过期时间 设置成功返回1. 当key不存在或者不能为key设置生存时间时(比如在低于2.1.3中你尝试更新key的生存时间),返回

redis 五种数据类型的使用场景

String [html] view plain copy 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一段内容 设置及获取字符串的某一位(bit) 批量设置一系列字符串的内容 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String, 也可以是数字:比如想知道什么时候封锁一个IP地址(访问

Redis五种数据类型及应用场景

MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间. 2.Memcached与MySQL数据库数据一致性问题. 3.Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑.