技术标签: redis
转载自 https://blog.csdn.net/fan510988896/article/details/71730696
reids官方命令集查询:
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-Api介绍 一、通用命令(成功返回1,失败返回0) 数据结构和内部编码 单线程 单线程为什么这么快 使用单线程需要注意什么? String 使用场景 hash list set zset 一、通用命令(成功返回1,失败返回0) 命令 说明 时间复杂度 keys[pattern] 遍历所有key O(N) dbsize 获取keys的大小 O(1) exists 检查key是否存在 O(...
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 而且Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串...
redis 数据结构 redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构 Redis的value 数据类型分为:字符串类型、散列类型、列表类型、集合类型、有序集合类型。 一.String字符串类型 string是redis数据类型最基本的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何...
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...
1.五种数据结构图解如下 1.1 String数据结构 命令: get 、 set 、 del 、 incr、 decrget 、 set 、 del 、 incr、 decr 联想java: map<String,value> value可对应数字,字符串,jpg图片或者序列化的对象。 实战场景: 1.缓存: 经典使用场景,把常用信息,字符串,图片或者视频等信息放到redis中,re...
https://blog.csdn.net/fuermosi1234/article/details/80650281 Redis五种数据结构简介 Redis五种结构 1、String 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操...
列表(类队列) 数据结构:有序、可重复 基本命令: 例子 阻塞式的列表弹出命令及列表之间移动元素的命令 blpop blpop keyname1 keyname2 timeout 解释: 非阻塞式:从左向右依次检查,如果发现列表不为空则弹出该列表的最左端的元素 阻塞式:从左向右依次检查,如果发现所有列表为空或者不存在,则等待时间timeout(s),期间如果其他客户端往列表中插入元素,该客户端则弹...
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...
文章目录 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_ENCODING_ENBSTR和REDIS_ENCODING_RAW都是用于保存字符串值,其中embstr编码是专门用于保存短字符串的一种优化编码方式,这种编码和raw编码一样,都使用redisObject结构和sdshdr结构结构来表示字符串对象,但raw编码会调用两次内存分配函数来分别创建redisObject结构和sdshdr结构,...
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...
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...
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...
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...
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...