redis基础数据类型详解
2017-05-25 08:08
567 查看
redis类型
redis一共分为五种基本数据类型:String、Hash、List、Set、ZSet。
查看redis命令帮助
help 命令名
String类型
String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串,数值等。set、get和del方法:
设置值:set name redis
取值:
get name
删除值:
del name
使用setnx (not exist)
表示如果不存在key进行设置,返回1。存在就不需要设置了,返回0127.0.0.1:6379> setnx name aa (integer) 0
使用setex (expired)
set color 10 red设置color的有效期为10秒,10秒返回
nil(在redis中
nil表示
null)
使用setrange 替换字符串
set mail 123456@qq.com替换字符串
setrange mail 5 abc(5表示从第几位开始替换,不包含开始位置,后面跟上替换的字符串),如下图:
一次性设置或者获取多个值mset、mget
方法
mset k1 123 k2 abc k3 ofg
mget k1 k2 k3
一次性获取设置getset
方法
getset k4 abcd先返回k4的值然后设置k4的值为
abcd
incr和decr方法
对某个值进行递增和递减。incr age
decr age
incrby和decrby方法
对某个值指定长度的递增和递减。incrby age 5增加5
decrby age 6减少6
append方法追加字符串
append key value
append name nosql为key为name的值追加nosql
strlen方法获取key的长度
strleng key返回该key的value的长度
Hash类型
Hash类型是
String类型的field和value的映射表,或者说一个
String集合。它特别适合存储对象,相比而言,将一个对象类型存储在
Hash类型里要比存储在String类型里占用更少的内存空间,并方便存取整个对象。
设置和获取Hash方法
通过hset设置
Hash类型的值。
hset user id 1表示设置
Hash的值为
user,里面有
key为
id,
value为1。
通过
hget获取
Hash类型的值。
hget user id表示获取
Hash的值为
user中
key为
id的值。
也可以批量设置和获取值。通过
hmset user id 2 name zs age 20 sex man和
hmget user id name age sex
Hash类型的其他常用方法
hsetnx:这个和setnx类似,表示如果不存在就设置,存在就不设置。
hincrby:集合递增,类似于
incrby。
hexists:是否存在key,如果存在返回值,不存在返回0
hlen:返回hash集合里面的所有键数值。
hdel:删除指定hash中的字段。
hkeys:返回hash中的所有key。
hvales:返回hash中的所有value。
hgetall:返回hash里的所有key和value。
List类型
List类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。更加具体来说,List类型是一个双链表的结构,我们可以通过相关操作在集合的头部和尾部进行操作,List的可以作为栈,也可以作为队列。
lpush和lrange方法
lpush从头部加入元素(栈)先进后出,返回集合中元素个数。
lpush list hello向名为
list集合中添加
hello。
lrange获取栈的元素,返回集合中的元素。
lrange list 0 -1获取
list集合全部元素。
rpush方法
rpush方法从尾部加入元素,先进先出。
rpush list2 hello向集合
list2中添加
hello
lrang获取集合中的元素。
linsert方法
插入元素。linsert num before three two
lset方法
将指定下标的元素替换掉。从0开始lrem方法
删除元素,返回删除元素个数ltrim方法
保留指定范围内的元素,截取集合lpop方法
从list的头部删除元素,并返回删除元素rpop方法
从list的尾部删除元素,并返回删除元素Set类型
Set集合是String类型的无序集合,Set是通过HashTable实现的,对集合我们可以取交集、并集、差集。sadd方法
向名称为key的set中添加元素。sadd set1 abc也可以批量添加
sadd set1 abc bdf
set集合不允许添加重复元素。
smembers方法
查看set集合元素。srem方法
删除set集合元素spop方法
随机返回删除的membersdiff方法
返回两个集合的不同元素,哪个集合在前面就以哪个集合为标准。sdiffstore方法
将返回的不同元素存储到另一个集合里。sinter方法
两个集合取交集。sinterstore方法
返回交集结果,存储到另一个集合中sunion方法
取并集。sunionstore方法
取并集,并存储到另一个集合中smove方法
从一个set集合移动到另一个set集合,相当于剪切复制。scard方法
返回集合的元素个数,scard 集合名
sismember方法
判断某元素是否为集合中的元素,返回1代表是集合中的元素,0代表不是srandmember方法
随机返回一个元素zset集合类型
set集合的升级版,集合是有序的。zadd方法
向有序集合中添加一个元素,该元素如果存在,则更新顺序。在重复插入的时候,会根据顺序属性更新。zrange方法
查看zset集合数据。zrem方法
删除名称为key的zset中的元素memberzincrby方法
以指定值去自增或自减,用法和incrby类似zrangebyscore方法
找到指定区间范围的数据进行返回。zremrangebyrank方法
删除索引范围的memberzremrangebyscore方法
删除指定序号,通过分数范围删除,包含头、包含尾zrank方法
返回排序序号,从0开始zrevrank方法
返回排序索引,从大到小的顺序,从0开始zrangebyscore 方法
找到指定区间的数据并返回通过上图我们可以看出
zrange和
zrangebyscore方法的区别是,一个通过索引范围查找,一个通过分数范围查找
zcard方法
返回集合中所有元素的个数zcount方法
返回集合中score在给定区间的数量相关文章推荐
- Redis 基础数据类型详解
- Redis基础数据类型详解之String
- Redis基础数据类型详解之Hash
- redis基础之数据类型--列表类型
- Redis详解:strings数据类型及操作
- Redis详解:hashes数据类型及操作
- Sql Server基础:数据类型详解
- Redis详解:sorted sets数据类型及操作
- Redis数据类型与指令详解之集合(t_set)
- Redis详解:hashes数据类型及操作
- redis 数据类型详解 以及 redis适用场景场合
- redis 数据类型详解 以及 redis适用场景场合
- Redis详解:hashes数据类型及操作
- redis学习--基础3 数据类型string
- Redis详解:lists数据类型及操作
- redis 数据类型详解 以及 redis适用场景场合
- redis学习--基础3 数据类型string
- halcon基础数据类型详解
- redis学习--基础5 数据类型hash
- redis实战基础篇:redis的5种数据类型的基本操作