浅谈Redis存储数据类型及存取值方法

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)

String存取值:

是 redis 最基本的类型 一个 key 对应一个 value。value其实不仅是String,也可以是数字。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。 使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。

存值:SET key  value  取值:GET key

hash存取值:

是一个键值(key => value)对集合。Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象

存值 HMSET key field value [field value ...]   取值  HGET key field  或者  SCAN cursor [MATCH pattern] [COUNT count]

或者 HGETALL key  获取全部

list存取值:

列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)常用命令:lpush(添加左边元素),rpush,lpop(移除左边第一个元素),rpop,lrange(获取列表片段,LRANGE key start stop)等

存值:LPUSH key value [value ...]  取值:LRANGE key start stop

set存取值:

是string类型的无序集合。集合是通过hashtable实现的,概念和数学中个的集合基本类似,可以交集,并集,差集等等,set中的元素是没有顺序的。set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在,一个set集合内的重要接口,这个也是list所不能提供的

存值:sadd key member [member ...]  取值: SMEMBERS key  或者 SSCAN key cursor [MATCH pattern] [COUNT count]

zset存取值:

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。当你需要一个有序的并且不重复的集合列表,那么可以选择sorted set数据结构,zset的成员是唯一的,但分数(score)却可以重复。

存值:zadd key [NX|XX] [CH] [INCR] score member [score member ...]    取值:  ZRANGE key start stop [WITHSCORES]

或者 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

如果元素在集合中存在则更新对应score  java从原来第一个变为第五个

如果score已经存在,则插入新的元素为对应score  redis插入原有的有序排序中

结合辅助软件可以看得更加清晰

到此这篇关于浅谈Redis存储数据类型及存取值方法的文章就介绍到这了,更多相关Redis存储数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • redis数据类型_动力节点Java学院整理

    Redis支持5种数据类型,它们描述如下: Strings - 字符串 Redis的字符串是字节序列.在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储任何东西,最大长度可达512兆. 例子 redis 127.0.0.1:6379> SET name "yiibai" OK redis 127.0.0.1:6379> GET name "yiibai" 在上面的例子使用Redis命令set和ge

  • Redis教程(二):String数据类型

    一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 APPENDkeyvalue O(1) 如果该Key已经存在,APPEND命令将参数Value的数据追加到已存在Value的末尾.如果该Key不存在,APPEND命令将会创建一个新的Key/V

  • Redis教程(五):Set数据类型

    一.概述: 在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加.删除或判断某一元素是否存在等操作.需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作.Set可包含的最大元素数量是4294967295.       和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的set容器是完全相同的.换句话说,如果多次添加相同元素,Set中将仅保留该元素的一份拷贝.和List类型相比,Set类

  • Redis中3种特殊的数据类型(BitMap、Geo和HyperLogLog)

    前言 Reids 在 Web 应用的开发中使用非常广泛,几乎所有的后端技术都会有涉及到 Redis 的使用.Redis 种除了常见的字符串 String.字典 Hash.列表 List.集合 Set.有序集合 SortedSet 等等之外,还有一些不常用的数据类型,这里着重介绍三个.下面话不多说了,来一起看看详细的介绍吧. BitMap BitMap 就是通过一个 bit 位来表示某个元素对应的值或者状态, 其中的 key 就是对应元素本身,实际上底层也是通过对字符串的操作来实现.Redis 从

  • Redis中五种数据类型简单操作

    Redis中五种数据类型简单操作 提出问题 Redis五种数据类型的简单增删改查命令??? 解决问题 假设你已经安装Redis服务器: 假设你已经打开Redis cli命令行工具: 假设你对Redis有所了解: Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_key的值 127.0.0.1:6379> get ay_key "ay"

  • redis数据类型及应用场景知识点总结

    redis数据类型及应用场景 Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 一.string 简介:Strings数据类型是最常用.简单的key-value类型,普通的key/ value 存储都可以归为此类.value不仅可以是字符串,也可以是数字.因为是二进制安全的,所以你完全可以把一个图片文件的内容作为string来存储.Redis的string可以完全实现目前memcached的功能,

  • Redis教程(六):Sorted-Sets数据类型

    一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序.然而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的.     在Sorted-Set中添加.删除或更新一个成员都是非常快速的操作,其时间复杂度为集合中成员数量的对数.由于So

  • Redis的5种数据类型与常用命令讲解

    1.redis的5种数据类型: string 字符串(可以为整形.浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) hash hash散列值(hash的key必须是唯一的) sort set 有序集合 2.string类型的常用命令: 自加:incr 自减:decr 加: incrby 减: decrby 3.list类型支持的常用命令: lpush:从左边推入 lpop:从右边弹出 rpush:从右变推入 rpop:从右边弹出

  • Redis教程(三):List数据类型

    一.概述: 在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,Redis将为该键创建一个新的链表.与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除.List中可以包含的最大元素数量是4294967295.       从元素插入和删除的效率视角来看,如果我们是在链表的两头插入或删除元素,这将会是非常高效的操作,即使链表中已经存储了百万条记录,该操作

  • Redis常用数据类型命令实例汇总

    存储sortedset: 存储:zadd key score menber1 score menber2 ... 升序排列:zrange key start end [withscores] 降序排列:zrevrange key start end [withscores] 取得前三名: 按照排名范围删除元素:zremrangebyrank key start stop 例,删除3名到最后一名: 返回成员在集合中的排名(从小到大): zrank key member keys的通用操作: 删除指

  • Redis不同数据类型使用场景代码实例

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis列表命令 参考:http://www.redis.net.cn/tutorial/3501.html 使用场景 String String数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字. 常规key-value缓存应用: 常规计数:微博数,粉丝数等. hash Redis hash是一个stri

随机推荐