架构师养成记--31.Redis的几种类型
2017-02-27 23:37
134 查看
String类型
Redis一共分为五种基本数据类型:String、Hash、List、Set、ZSetString类型是包含很多张类型的特殊类型,并且是二进制安全的。比如对序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串数值等等。
Set和get方法的使用
设置值:set name sgm (多次设置name值,后一次会覆盖前一次)取值 get name
删除值:del name
setnx,nx的意思就是not exists;不覆盖赋值,如上例,如果name存在就不设置了。
setex,ex意思是expired;setex color 10 red 设置color的有效期为10秒,10秒后返回nil(在redis中nil表示空)
使用setrange 替换字符串;set email 894120217@qq.com --> setrange email 10 ww(10表示从第几位开始替换,后面跟上替换的字符串)
一次性获取和设置多个值mset,mget
一次性设置和取值,getset key4 sss,也就是把原来的key4值打印出来,然后把sss赋值给key4
incr和decr:对某个值进行递增和递减
incrby和decrby:对某个值进行指定步长的增减
append【name】:追加字符串的方法;append name 1212
strlen key:获取字符串的长度
Hash类型
Hash类型是String类型的field和value的映射表,或者说一个String集合。特别适合存储对象,相比而言,对象存在Hash中比在String占用空间要小,并方便存取整个对象。形如:hset myhash field1 hello(含义:hset是hash集合,myhash是集合名字,field1是字段名,hello是值);使用hget myhash field1获取内容,也可以存储多个值。hmset可以批量存储多个键值对:hmset myhash sex 1 addr beijing,可以使用hmget获取多个键值对。同样地也有hsetnx、hsetex。
hincryby和hdecrby集合递增和递减
hexists 是否存在key,如果存在返回,不存在返回0
hlen返回hash集合里的所有的键数值
hdel 删除指定hash的field
hkeys返回hash的所有字段
hvals 返回hash的所有value
hgetall 返回hash里所有的key和value
List类型
List类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。List类型是一个双端链表结构,可进行集合的头部或者尾部添加删除元素,可以作为栈,又可以作为队列。满足绝大多数需求lpush:头部加入,先进先出
形如:lpush list1 sgm
lpush list1 zzt
rpush:尾部加入,先进先出
lrange:获取队列元素
linsert:插入元素
形如:linsert list3 before [集合的元素][插入的元素]
lset:将指定下标的元素替换掉
lrem:删除元素,返回删除个数
lrem list1 2 "b" 将第二个b移除
lrem list1 0 -1 全部移除
ltrim :保留指定key的值范围内的数据
lpop:从list的头部删除数据,并返回删除元素
rpop:从list的尾部删除元素,并返回删除元素
rpoplpush:从尾部删除元素,并从头部加入刚才删除的元素
lindex:返回名称为key的list中index位置的元素
llen:返回元素的个数
set和zset类型
set集合是string类型的无效集合,set是通过hashtable实现的,对集合我们可以取交集、并集、差集。sadd :向名称为key的set中添加元素,set集合不允许重复元素,smembers查看set集合的元素
srem:删除集合元素
spop:随机返回删除的key
sdiff:返回两个集合的不同元素(哪个集合在签名就以哪个集合为标准)
sdiffstore:将返回的不同元素存储到另外一个集合里
示例:sdiffstore set3 set1 set2(以set1为准,把set1和set2的不同元素存到set3里)
sinter:返回集合的交集
sinterstore:返回集合的交集并存到另一记集合里
示例:sinterstore set3 set2 set1(取set1和set2的交集并存到set3里)
sunion:取并集
sunionstore:取并集并存到另一集合里
smove:从一个set集合移动到另一set集合(相当于剪切粘贴)
示例:move set1 set2 a
scard:查看集合里元素个数
sismember:判断某个元素是否是集合中的元素,返回1是,返回0不是
srandmember:随机返回一个元素
zadd:想有序集合中添加一个元素,该元素如果存在,则更新顺序
示例:zadd zset1 5 five(5表示顺序)
zrange:按照顺序显示zset(场景:rank相关的应用)
zrem : 删除名称为key的zset中的元素
示例:zrem zset1 one
zincrby:以指定值去自动递增或减少
zrangebyscore:找到指定范围的数据返回
zremrangebyrank :删除 1到1
zremrangebyscore :删除指定序号
相关文章推荐
- Redis常用几种数据类型
- java 对redis几种数据类型的基本操作
- redis有string,hash,list,sets.zsets几种数据类型
- 架构师养成记--32.Redis高级(安全 主从复制)
- springboot + redis 操作几种数据类型
- redis保存数据的几种类型
- redis保存数据的几种类型
- Redis 的几种数据结构&五种数据类型对象
- redis常用的几种数据类型介绍
- redis 几种数据类型往数据库存数据和取数据的帮助类
- 架构师养成记--33.Redis哨兵、redis简单事务
- Redis几种数据类型的应用场景(转)
- 计算机的几种时间类型
- Hibernate中几种数据类型的映射
- 架构师核心技能养成计划
- 将CString类转换成char*(LPSTR)类型的几种方法
- 开发MOSS的几种类型
- C中几种相对不常用类型 - 联合体
- SharePoint开发的几种类型
- 架构师核心技能养成计划