redis的五种数据结构

技术标签: redis

转载自 https://blog.csdn.net/fan510988896/article/details/71730696

reids官方命令集查询:

http://redis.io/commands

redis整合各种语言案例查询:

https://github.com/josiahcarlson/redis-in-action

redis可以存储键和五种不同类型的值之间的映射

String字符串

List列表

Set集合

Hash散列

Zset有序集合

 

redis可以自动以俩种不同的方式将数据写入硬盘

redis除了能存储普通的字符串键之外,还可以存储其他四种数据结构

与其他数据库对比:

 

 

Redis中的字符串

简单的操作

 

 

Redis中的列表

一个列表可以有序地存储多个字符串,并且列表里的元素是可以重复的

命令与行为

LPUSH将元素推入列表的左端

RPUSH将元素推入列表的右端

LPOP从列表左端弹出元素

RPOP从列表右端弹出元素

LINDEX获取列表在给定位置上的一个元素

LRANGE获取列表在给定范围上的所有元素

具体实例如下图:

 

 

Redis中的集合

SADD将元素添加到集合     成功添加返回1,如果返回0则表示集合中已经有这个元素了

SREM从集合里面移除元素     存在返回1,不存在返回0

SISMEMBER快速地检查一个元素是否已经存在于集合中

SMEMBERS获取集合包含的所有元素

 

 

Redis中的散列

HSET     在散列里面关联起给定的键值对

HGET     获取指定散列键的值

HGETALL     获取散列包含的所有键值对

HDEL     如果给定键存在于散列里面,那么移除这个键

 

 

Redis中的有序集合

有序集合的键被成为成员,每个成员都是各不相同的。有序集合的值被成为分值,分值必须为浮点数。

有序集合是redis里面唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列顺序来访问元素 的结构。

ZADD     将一个带有给定分值的成员添加到有序集合里面

ZRANGE     根据元素在有序排列中所处的位置,从有序集合里面获取多个元素

ZRANGEBYSCORE     获取有序集合在给定分值范围内的所有元素

ZREM     如果给定成员存在于有序集合,那么移除这个成员

来源:网络


智能推荐

Redis五种数据结构介绍

redis-Api介绍 一、通用命令(成功返回1,失败返回0) 数据结构和内部编码 单线程 单线程为什么这么快 使用单线程需要注意什么? String 使用场景 hash list set zset 一、通用命令(成功返回1,失败返回0) 命令 说明 时间复杂度 keys[pattern] 遍历所有key O(N) dbsize 获取keys的大小 O(1) exists 检查key是否存在 O(...

Redis中常用五种数据结构

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 而且Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串...

Redis 五种数据结构命令操作

redis 数据结构 redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构 Redis的value 数据类型分为:字符串类型、散列类型、列表类型、集合类型、有序集合类型。 一.String字符串类型 string是redis数据类型最基本的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何...

redis五种数据结构应用场景

Hash应用场景 1.以电商购物车为例:以用户id为key,商品id为field,商品数量为value 添加商品-》hset cart:1001 10088 1 增加1088商品数量-》hincrby cart:1001 10088 1 获取1088商品数量-》hget cart:1001 10088 获取购物车的商品总数-》hlen cart:1001 删除1088商品-》hdel cart:1...

Redis-五种数据结构

1.五种数据结构图解如下 1.1 String数据结构 命令: get 、 set 、 del 、 incr、 decrget 、 set 、 del 、 incr、 decr 联想java: map<String,value> value可对应数字,字符串,jpg图片或者序列化的对象。 实战场景: 1.缓存: 经典使用场景,把常用信息,字符串,图片或者视频等信息放到redis中,re...

猜你喜欢

Redis五种数据结构简介

https://blog.csdn.net/fuermosi1234/article/details/80650281 Redis五种数据结构简介 Redis五种结构   1、String     可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操...

Redis入门(二)——五种数据结构——列表

列表(类队列) 数据结构:有序、可重复 基本命令: 例子 阻塞式的列表弹出命令及列表之间移动元素的命令 blpop blpop keyname1 keyname2 timeout 解释: 非阻塞式:从左向右依次检查,如果发现列表不为空则弹出该列表的最左端的元素 阻塞式:从左向右依次检查,如果发现所有列表为空或者不存在,则等待时间timeout(s),期间如果其他客户端往列表中插入元素,该客户端则弹...

Redis五种数据结构及基本操作

String类型 1. 内存存储模型 2. 常用操作命令 命令 说明 set 设置一个key/value get 根据key获得对应的value mset 一次设置多个key value mget 一次获得多个key的value getset 获得原始key的值,同时设置新值 strlen 获得对应key存储value的长度 append 为对应key的value追加内容 getrange 索引0...

Redis五种数据结构演示

文章目录 String hash list set sortedset String setex key 过期时间(单位秒) 值 例如上图 setex c 100 c 设置key为c的值为c , 过期时间为100s psetex key 过期时间(单位毫秒) 值 psetex d 10000 d 10000毫秒为10s ttl为查询还有多久时间过期, 单位为秒 获取字符串的范围getrange g...

Redis五种数据结构底层编码

每种类型的对象都至少使用了两种不同的编码: 其中REDIS_ENCODING_ENBSTR和REDIS_ENCODING_RAW都是用于保存字符串值,其中embstr编码是专门用于保存短字符串的一种优化编码方式,这种编码和raw编码一样,都使用redisObject结构和sdshdr结构结构来表示字符串对象,但raw编码会调用两次内存分配函数来分别创建redisObject结构和sdshdr结构,...

问答精选

Static initialization order issue in C++

This is another variation of an old theme: The initialization order of static objects in different translation units is not defined. Below is a stripped-down example of my particular scenario. The cla...

How to append a text file on SFTP server using SharpSSH or SSH.NET library

I use Tamir.SharpSSH library to make my SFTP operations. I can upload file from client, delete or list files located in an SFTP server directory. But I cannot find how to append a text file. I don't w...

NodeJS cloud Openshift wont display my app

I've been struggling days just to upload my nodejs app on a cloud and i tried openshift because it seems nice and i've commited my folder and files into my github, i've created a ssh key and everythin...

Creating APK file inside Android Application on the device?

Can one create .APK file from set of files/folder inside Android Application? (for example, inside application like fdroid) For example, I have uncompressed files of my apk file and I want to recreate...

Naming files in R loop

I have multiple audio files which are held in several subfolders in my working directory. I have a loop which reads in the first minute of each file and then saves them as a new file. Now, there are a...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答