Redis数据类型及命令

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性(英语:Durability_(database_systems))的键值对存储数据库(英语:Key-value database),

数据类型
  • strings(字符串)
    字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数据,例如: 一张JPEG格式的图片或者一个序列化的Ruby对象。一个字符串类型的值最多能存储512M字节的内容。
  • hashes(哈希)
    Redis Hashes是字符串字段和字符串值之间的映射,所以它们是完美的表示对象(eg:一个有名,姓,年龄等属性的用户)的数据类型。
  • lists(列表)
    Redis列表是简单的字符串列表,按照插入顺序排序。 你可以添加一个元素到列表的头部(左边)或者尾部(右边)。LPUSH 命令插入一个新元素到列表头部,而RPUSH命令 插入一个新元素到列表的尾部。当 对一个空key执行其中某个命令时,将会创建一个新表。 类似的,如果一个操作要清空列表,那么key会从对应的key空间删除。这是个非常便利的语义,因为如果使用一个不存在的key作为参数,所有的列表命令都会像在对一个空表操作一样。
  • sets(集合)
    Redis集合是一个无序的字符串合集。你可以以O(1) 的时间复杂度(无论集合中有多少元素时间复杂度都为常量)完成 添加,删除以及测试元素是否存在的操作。
    Redis集合有着不允许相同成员存在的优秀特性。向集合中多次添加同一元素,在集合中最终只会存在一个此元素。实际上这就意味着,在添加元素前,你并不需要事先进行检验此元素是否已经存在的操作。
  • zset(有序集合)
    Redis集合是一个无序的字符串合集。你可以以O(1) 的时间复杂度(无论集合中有多少元素时间复杂度都为常量)完成 添加,删除以及测试元素是否存在的操作。
    Redis集合有着不允许相同成员存在的优秀特性。向集合中多次添加同一元素,在集合中最终只会存在一个此元素。实际上这就意味着,在添加元素前,你并不需要事先进行检验此元素是否已经存在的操作。
命令(参考http://redis.cn/commands.html#string)
  • strings
命令说明
APPEND key valueAPPEND key value
BITCOUNT key [start end]统计字符串指定起始位置的字节数
BITFIELD key[GET type offset][SET type offset value][INCRBY type offset increment][OVERFLOW WRAP、SAT、FAIL]Perform arbitrary bitfield integer operations on strings
BITOP operation destkey key [key …]Perform bitwise operations between strings
BITPOS key bit [start] [end]Find first bit set or clear in a string
DECR key整数原子减1
DECRBY key decrement原子减指定的整数
GET key返回key的value
GETBIT key offset返回位的值存储在关键的字符串值的偏移量。
GETRANGE key start end获取存储在key上的值的一个子字符串
GETSET key value设置一个key的value,并获取设置前的值
INCR key执行原子加1操作
INCRBY key increment执行原子增加一个整数
INCRBYFLOAT key increment执行原子增加一个浮点数
MGET key [key …]获得所有key的值
MSET key value [key value …]设置多个key value
MSETNX key value [key value …]设置多个key value,仅当key存在时
PSETEX key milliseconds valueSet the value and expiration in milliseconds of a key
SET key value [EX seconds] [PX milliseconds] [NXXX]
SETBIT key offset valueSets or clears the bit at offset in the string value stored at key
SETEX key seconds value设置key-value并设置过期时间(单位:秒)
SETNX key value设置的一个关键的价值,只有当该键不存在
SETRANGE key offset valueOverwrite part of a string at key starting at the specified offset
STRLEN key获取指定key值的长度
  • hashes
命令说明
HDEL key field [field …]删除一个或多个Hash的field
HEXISTS key field判断field是否存在于hash中
HGET key field获取hash中field的值
HGETALL key从hash中读取全部的域和值
HINCRBY key field increment将hash中指定域的值增加给定的数字
HINCRBYFLOAT key field increment将hash中指定域的值增加给定的浮点数
HKEYS key获取hash的所有字段
HLEN key获取hash里所有字段的数量
HMGET key field [field …]获取hash里面指定字段的值
HMSET key field value [field value …]设置hash字段值
HSET key field value设置hash里面一个字段的值
HSETNX key field value设置hash的一个字段,只有当这个字段不存在时有效
HSTRLEN key field获取hash里面指定field的长度
HVALS key获得hash的所有值
HSCAN key cursor [MATCH pattern] [COUNT count]迭代hash里面的元素
  • sets
命令说明
SADD key member [member …]添加一个或者多个元素到集合(set)里
SCARD key获取集合里面的元素数量
SDIFF key [key …]获得队列不存在的元素
SDIFFSTORE destination key [key …]获得队列不存在的元素,并存储在一个关键的结果集
SINTER key [key …]获得两个集合的交集
SINTERSTORE destination key [key …]获得两个集合的交集,并存储在一个关键的结果集
SISMEMBER key member确定一个给定的值是一个集合的成员
SMEMBERS key获取集合里面的所有元素
SMOVE source destination member移动集合里面的一个元素到另一个集合
SPOP key [count]删除并获取一个集合里面的元素
SRANDMEMBER key [count]从集合里面随机获取一个元素
SREM key member [member …]从集合里删除一个或多个元素
SUNION key [key …]添加多个set元素
SUNIONSTORE destination key [key …]合并set元素,并将结果存入新的set里面
SSCAN key cursor [MATCH pattern] [COUNT count]迭代set里面的元素
  • zset
命令说明
ZADD key [NXXX] [CH] [INCR] score member [score member …]
ZCARD key获取一个排序的集合中的成员数量
ZCOUNT key min max返回分数范围内的成员数量
ZINCRBY key increment member增量的一名成员在排序设置的评分
ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM、MIN、MAX]相交多个排序集,导致排序的设置存储在一个新的关键
ZLEXCOUNT key min max返回成员之间的成员数量
ZPOPMAX key [count]Remove and return members with the highest scores in a sorted set
ZPOPMIN key [count]Remove and return members with the lowest scores in a sorted set
ZRANGE key start stop [WITHSCORES]根据指定的index返回,返回sorted set的成员列表
ZRANGEBYLEX key min max [LIMIT offset count]返回指定成员区间内的成员,按字典正序排列, 分数必须相同。
ZREVRANGEBYLEX key max min [LIMIT offset count]返回指定成员区间内的成员,按字典倒序排列, 分数必须相同
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]返回有序集合中指定分数区间内的成员,分数由低到高排序。
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] [LIMIT offset count]返回有序集合中指定分数区间内的成员,分数由高到低排序。
ZREVRANK key member确定指数在排序集的成员,下令从分数高到低
ZSCORE key member获取成员在排序设置相关的比分
ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM、MIN、MAX]添加多个排序集和导致排序的设置存储在一个新的关键
ZSCAN key cursor [MATCH pattern] [COUNT count]迭代sorted sets里面的元素

除了以上5种命令外,还有Cluster、Connection、Geo、HyperLogLog、Keys、Pub/Sub、Scripting、Server、Streams、Transactions等命令,具体参考https://redis.io/commands.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值