String
数据说明:
张三的个人信息如下
name:zs
age:18
hight:1.83
skill:sayhello
特点
单建单值
set-单条数据插入
set name zs
get-单条数据查询
get name
mset-多条数据插入
mget age 18 hight 1.83 skill sayhello
mget-多条数据查询
mget name age hight skill
setnx-当key不存在时设置key的值
添加张三信息:爱好-game
msetnx-同时添加一个或者多个key,当且仅当所有给定的key都不存在
添加张三信息:邮箱-email、手机号-cell-phone-number
若再次添加张三信息:邮箱-email、性别-sex,则会失败(因为邮箱-email已经存在)
incr-将key中存储的数字值增1
给张三年龄增1岁
incrby-将key中存储的数字值按照指定步长增加
strlen-获取值的长度
strlen age
append-给value追加内容
张三爱好打游戏,具体游戏名为:cf
setrange-替换
张三技能,由sayhello,改为sayhi-laowang
del 根据key删除数据
del key
List
特点
1)单键多值;有序可以重复
2)底层实际是个双向链表,对两端的操作性能很高
3)插入元素可以在链表尾部和头部
4)双向下标
lpush-从左边插入一个或多个值
rlpush从右边插入一个或多个值
lpop-从左边吐出一个值(值在键在,值光键亡)
lrange-按照索引下标范围获取元素(从左到右)
lindex-按照索引下标获取元素(从左到右)
llen-获取列表长度
linsert-在指定<value>的前面或者后面插入
lrem-从左边删除count个指定的value
rpoplpush-从key1列表右边吐出一个值,插入到key2列表左边
Set
特点
1)单建多值;无序不重复
2)底层是hash表,所以添加,删除,查找的复杂度都是O(1)
sadd-将一个或者多个member元素加入到集合中,已经存在的member将被忽略
smemebers-取出集合的所有值
sismember-判断集是否包含指定的member,包含返回1,不包含返回0
scard-返回集合的元素个数
srem-从集合中删除指定的元素
spop-随机从集合中吐出一个值,会从集合中删除吐出的值
srandmember-随机从集合中取出n个值,不会从集合中删除
返回多个集合的交集元素
返回多个集合的并集元素
返回多个集合的差集元素
Zset
特点
1)单建多值;有序不重复;多适用于topn
2)集合中的每个成员都关联了一个评分(score) ,这个评分用来排序集合中的成员
zadd-往集合中添加指定的 member 及score
zrange-按下标取数据,默认升序
zrevrange-按下标取数据,降序
zrangebyscore-按score取数据,默认升序
zrevrangebyscore-按score取数据,降序
zincrby-给指定member增加score
zrem-删除集合中指定的member
统计指定score范围的元素个数
统计 80=<score<=100的元素有多少个
zrevrank-返回指定member的排名,排名从0开始
Hash
特点
1)单建多值;多适用于存储bean对象
2)Redis hash的值是由多个field和value组成的映射表
数据说明:
张三的个人信息如下
id:1001
name:zs
age:20
gender:man