redis数据类型和操作指令

  redis存储数据是key:value的形式,其中value一共支持五种数据类型:string、hash、list、set、zset

1、string:最常见的数据类型,就是字符串

  • SET key value 此命令设置指定键的值。
  • GET key 获取指定键的值。
  • GETRANGE key start end 获取存储在键上的字符串的子字符串。
  • GETSET key value 设置键的字符串值并返回其旧值。
  • GETBIT key offset 返回在键处存储的字符串值中偏移处的位值。
  • MGET key1 [key2..] 获取所有给定键的值
  • SETBIT key offset value 存储在键上的字符串值中设置或清除偏移处的位
  • SETEX key seconds value 使用键和到期时间来设置值
  • SETNX key value 设置键的值,仅当键不存在时
  • SETRANGE key offset value 在指定偏移处开始的键处覆盖字符串的一部分
  • STRLEN key 获取存储在键中的值的长度
  • MSET key value [key value …] 为多个键分别设置它们的值
  • MSETNX key value [key value …] 为多个键分别设置它们的值,仅当键不存在时
  • PSETEX key milliseconds value 设置键的值和到期时间(以毫秒为单位)
  • INCR key 将键的整数值增加1
  • INCRBY key increment 将键的整数值按给定的数值增加
  • INCRBYFLOAT key increment 将键的浮点值按给定的数值增加
  • DECR key 将键的整数值减1
  • DECRBY key decrement 按给定数值减少键的整数值
  • APPEND key value 将指定值附加到键 

2、hash:是字符串字段和字符串值之间的映射(类似于PHP中的数组类型)。 因此,它们是表示对象的完美数据类型。在Redis中,每个哈希(散列)可以存储多达4亿个键-值对

  • HDEL key field2 [field2] 删除一个或多个哈希字段。
  • HEXISTS key field 判断是否存在散列字段。
  • HGET key field 获取存储在指定键的哈希字段的值。
  • HGETALL key 获取存储在指定键的哈希中的所有字段和值
  • HINCRBY key field increment 将哈希字段的整数值按给定数字增加
  • HINCRBYFLOAT key field increment 将哈希字段的浮点值按给定数值增加
  • HKEYS key 获取哈希中的所有字段
  • HLEN key 获取散列中的字段数量
  • HMGET key field1 [field2] 获取所有给定哈希字段的值
  • HMSET key field1 value1 [field2 value2 ] 为多个哈希字段分别设置它们的值
  • HSET key field value 设置散列字段的字符串值
  • HSETNX key field value 仅当字段不存在时,才设置散列字段的值
  • HVALS key 获取哈希中的所有值

3、list:Redis列表只是字符串列表,按插入顺序排序。可以在列表的头部或尾部添加Redis列表中的元素。列表的最大长度为2^32 - 1个元素(即4294967295,每个列表可存储超过40亿个元素)。

  • BLPOP key1 [key2 ] timeout 删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用
  • BRPOP key1 [key2 ] timeout 删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用
  • BRPOPLPUSH source destination timeout 从列表中弹出值,将其推送到另一个列表并返回它; 或阻塞,直到一个可用
  • LINDEX key index 通过其索引从列表获取元素
  • LINSERT key BEFORE/AFTER pivot value 在列表中的另一个元素之前或之后插入元素
  • LLEN key 获取列表的长度
  • LPOP key 删除并获取列表中的第一个元素
  • LPUSH key value1 [value2] 将一个或多个值添加到列表
  • LPUSHX key value 仅当列表存在时,才向列表添加值
  • LRANGE key start stop 从列表中获取一系列元素
  • LREM key count value 从列表中删除元素
  • LSET key index value 通过索引在列表中设置元素的值
  • LTRIM key start stop 修剪列表的指定范围
  • RPOP key 删除并获取列表中的最后一个元素
  • RPOPLPUSH source destination 删除列表中的最后一个元素,将其附加到另一个列表并返回
  • RPUSH key value1 [value2] 将一个或多个值附加到列表
  • RPUSHX key value 仅当列表存在时才将值附加到列表

4、set:Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

  • SADD key member1 [member2] 向集合添加一个或多个成员
  • SCARD key 获取集合的成员数
  • SDIFF key1 [key2] 返回给定所有集合的差集
  • SDIFFSTORE destination key1 [key2] 返回给定所有集合的差集并存储在 destination 中
  • SINTER key1 [key2] 返回给定所有集合的交集
  • SINTERSTORE destination key1 [key2] 返回给定所有集合的交集并存储在 destination 中
  • SISMEMBER key member 判断 member 元素是否是集合 key 的成员
  • SMEMBERS key 返回集合中的所有成员
  • SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合
  • SPOP key 移除并返回集合中的一个随机元素
  • SRANDMEMBER key [count] 返回集合中一个或多个随机数
  • SREM key member1 [member2] 移除集合中一个或多个成员
  • SUNION key1 [key2] 返回所有给定集合的并集
  • SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中
  • SSCAN key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素

5、Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

  • ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
  • ZCARD key 获取有序集合的成员数
  • ZCOUNT key min max 计算在有序集合中指定区间分数的成员数
  • ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment
  • ZINTERSTORE destination numkeys key [key ...] 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
  • ZLEXCOUNT key min max 在有序集合中计算指定字典区间内成员数量
  • ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合成指定区间内的成员
  • ZRANGEBYLEX key min max [LIMIT offset count] 通过字典区间返回有序集合的成员
  • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 通过分数返回有序集合指定区间内的成员
  • ZRANK key member 返回有序集合中指定成员的索引
  • ZREM key member [member ...] 移除有序集合中的一个或多个成员
  • ZREMRANGEBYLEX key min max 移除有序集合中给定的字典区间的所有成员
  • ZREMRANGEBYRANK key start stop 移除有序集合中给定的排名区间的所有成员
  • ZREMRANGEBYSCORE key min max 移除有序集合中给定的分数区间的所有成员
  • ZREVRANGE key start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,分数从高到底
  • ZREVRANGEBYSCORE key max min [WITHSCORES] 返回有序集中指定分数区间内的成员,分数从高到低排序
  • ZREVRANK key member 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
  • ZSCORE key member 返回有序集中,成员的分数值
  • ZUNIONSTORE destination numkeys key [key ...] 计算给定的一个或多个有序集的并集,并存储在新的 key 中
  • ZSCAN key cursor [MATCH pattern] [COUNT count] 迭代有序集合中的元素(包括元素成员和元素分值)
时间: 2024-11-08 22:09:56

redis数据类型和操作指令的相关文章

缓存数据库-redis数据类型和操作(list)

转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素). List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: 二:列表常用操作 1)lpush(name,values)  在name对应的l

redis 的安装使用 数据类型 以及操作指令 一

安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf  redis-3.2.9.tar.gz  -C  /usr 然后进行 执行编译命令 make   执行安装  make install 进入redis目录   ll查看所有文件 将 redis.conf文件 移动到usr/local/redis/etc目录下 再进入redis/src 目录 将以下文件移动到 usr/local/redis/bin目录下  方便以后管理 此时进入 usr/

缓存数据库-redis数据类型和操作

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 一:String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个键最大能存储512MB. redis中的

缓存数据库-redis数据类型和操作(set)

一:Redis 集合(Set) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1). 二:set常用操作 1)sadd(name,values) name对应的集合中添加元素 2)scard(name) 获取name对应的集合中元素个数 3)sdiff(keys, *args)  在第一个name对应的集合中且不在其他name对应的集合的元素集合 4)sdiffs

缓存数据库-redis数据类型和操作(sorted set)

一:Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序集合的成员是唯一的,但分数(score)却可以重复. 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1). 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员). 二:有序集合常用操作 1)za

Redis数据类型:Sorted Sets操作指令

Redis数据类型:Sorted Sets操作指令 Sorted Sets常用操作指令 Sorted Sets,本质是一个有序的Sets,其实在原来的Sets集合中对每一个元素新增了一个属性Score,用于排序. ZADD 将指定的元素及Score添加到集合.如果集合中存在该元素,则更新其Score. 如果集合不存在,会先创建一个集合然后在添加元素及Score. 127.0.0.1:6379> ZADD sortset 1 name (integer) 1 ZRANGE 返回指定下标开始到结束下

Redis数据类型:Hashes、Geo操作指令

Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将键值对存储到哈希表中,如果哈希表不存在,新建一个然后在将键值对存储进去. HGET: 根据Key值获取value. 127.0.0.1:6379> ZADD sortset 1 name (integer) 1 127.0.0.1:6379> HSET myhash name zhangsan (

Redis详解:sorted sets数据类型及操作

sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列的mysql表,一列存value,一列存顺序.操作中key理解为zset的名字. 系列文章: Redis详解:strings数据类型及操作 Redis详解:hashes数据类型及操作 Redis详解:lists数据类型及操作 Redis详解:sets数据类型及操作 和set一样sorted set也是string类

Redis详解:strings数据类型及操作

Redis的作者antirez(Salvatore Sanfilippo)曾经发表了一篇名为Redis宣言(Redis Manifesto)的文章,文中列举了Redis 的七个原则,以向大家阐明Redis 的思想. 1.Redis是一个操作数据结构的语言工具,它提供基于TCP的协议以操作丰富的数据结构.在Redis中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的时间空间复杂度. 2.Redis定位于一个内存数据库,正是由于内存的快速访问特性,才使得Redis能