Redis的五大数据类型以及常用命令

String(字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

string类型是Redis最基本的数据类型,一个键最大能存储512MB。

Hash(哈希)

Redis hash 是一个键值对集合。

Redis hash是一个string类型的field和value的映射表,hash特别适合 用于存储对象。

List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素 导列表的头部(左边)或者尾部(右边)。

Set(集合)

Redis的Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

Key的常用命令

DEL key 该命令用于在 key 存在是删除 key。

DUMP key 序列化给定 key ,并返回被序列化的值。

EXISTS key 检查给定 key 是否存在。

EXPIRE key seconds 为给定 key 设置过期时间。

KEYS pattern 查找所有符合给定模式( pattern)的 key 。

MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中。

PERSIST key 移除 key 的过期时间,key 将持久保持。

TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

RANDOMKEY 从当前数据库中随机返回一个 key 。

RENAME key newkey 修改 key 的名称

RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey 。

TYPE key 返回 key 所储存的值的类型。

String的常用命令

set  key  value  添加键值对

get  key  获取键值对

getset  key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。

incr  key  给值加1

incrby  key  n  给值加n

decr  key  给值减1

decrby  key  n  给值减n

append  key  value  追加字符串

getrange  key  start  end  截取字符串

setex  key  seconds  value   设置键值对并设置过期时间

setnx  key  value   设置键值对(只有在该键不存在时才生效)

mset  key1  value1  key2  value2  key3  value3

msetnx  key1  value1  key2  value2  key3  value3(只要有key存在就失败)

mget  key1  key2  key3 获取所有(一个或多个)给定 key 的值

setrange key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。

strlen key 返回 key 所储存的字符串值的长度

List的常用命令

lpush  key  v1 v2 v3 (取值和放值顺序相反)可以理解为一个栈,从左边放值

LPUSHX key value 将一个或多个值插入到已存在的列表头部

rpush  key  v1  v2  v3 (取值和放值顺序相同)   可以理解为一个栈,从右边 放值

RPUSHX key value 为已存在的列表添加值

lrange  key  start  stop  从start取值到stop,如果stop为-1则全取    可以理解为一个栈,从左边取值

lpop  从左边出栈

rpop  从右边出栈

blpop key1 [key2 ] timeout 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

blpop key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

lindex  key  index  从左边根据索引取值

llen  key  计算长度

lrem  key  count  value  删除count个value的值

ltrim  key  start  stop   对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

rpoplpush  源列表  目的列表  

lset key  index  value    将索引为index的值替换

linsert  key   before/after   值1  值2  在列表的元素前或者后插入元素

Set的常用命令

sadd   key  value1  value2

scard  key  获取集合里面的元素个数

smembers  key   查看当前key的所有value

sismember key  value  判断value是否存在集合中

srem  key  value1 value2  删除集合中元素

srandmember  key  某个整数(随机出几个数)

spop  key  随机出栈

smove  source  destination member 将 member 元素从 source 集合移动到 destination 集合

sdiff  key1  key2 差集

sinter  key1  key2  交集

sunion  key1  key2  并集

hash的常用命令

hset   key  field  value

hget  key  field  获取存储在哈希表中指定字段的值

hsetnx key field value 只有在字段 field 不存在时,设置哈希表字段的值

hmset   key  field1  value1  field2  value2

hmget key field1 [field2] 获取所有给定字段的值

hgetall  key  获取在哈希表中指定 key 的所有字段和值

hkeys   key   获取所有哈希表中的字段

hlen  key 获取哈希表中字段的数量

hvals   key   获取到该key所有的value

HDEL key field2 [field2] 删除一个或多个哈希表字段

hexists  key  field  查看哈希表 key 中,指定的字段是否存在。

hincrby  key   field  increment  为哈希表 key 中的指定字段的整数值加上增量 increment 。

hincrbyfloat   key   field  increment

zset(sorted set)的常用命令

ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数

zrange  key  start  stop   (得到该key从start到stop的value)

zrevrange  key  start  stop  (顺序与上条相反)

ZRANGEBYLEX key min max [LIMIT offset count]  通过字典区间返回有序集合的成员

zrangebyscore  key  min  max [withscores]  得到分数从mix到max的value

zrevrangebyscore  key  结束score  开始score

ZREM key member [member ...]  移除有序集合中的一个或多个成员

ZREMRANGEBYLEX key min max  移除有序集合中给定的字典区间的所有成员

ZREMRANGEBYRANK key start stop  移除有序集合中给定的排名区间的所有成员

ZREMRANGEBYSCORE key min max  移除有序集合中给定的分数区间的所有成员

zcard  key  统计个数

zcount  key  min  max  (统计在分数区间内的个数)

ZLEXCOUNT key min max 在有序集合中计算指定字典区间内成员数量

zrank  key  value  获得下标值

zrevrank  key  value (顺序与上相反)

zscore  key  value,获得分数

ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment

事务常用命令

发布/订阅常用命令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值