1.String
- 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型
- 存储数据的格式:一个存储空间保存一个数据
- 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用
1.1添加/修改数据
set key value
1.2获取数据
get key
1.3删除数据
del key
1.4添加/修改多个数据
mset key1 value1 key2 value2 …
1.5获取多个数据
mget key1 key2 …
1.6获取数据字符个数(字符串长度)
strlen key
1.7追加信息到原始信息后部(如果原始信息存在就追加,否则新建)
append key value
1.8实例1
1.9自增(可以为负数)
incr key //自增+1
incrby key increment //自增+increment
incrbyfloat key increment//自增+浮点数increment
1.10设置数据具有指定的生命周期(到时间清除数据)
setex key seconds value
psetex key milliseconds value
设置在10s中里time的值为1,超过10s后,time里无值
2.hash
- 新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息
- 需要的存储结构:一个存储空间保存多个键值对数据
2.1添加/修改数据
hset key field value
2.2获取数据
hget key field
hgetall key
2.3删除数据
hdel key field1 [field2]
2.4添加/修改多个数据
hmset key field1 value1 field2 value2 …
2.5获取多个数据
hmget key field1 field2 …
2.6获取哈希表中字段的数量
hlen key
2.7获取哈希表中是否存在指定的字段
hexists key field
2.8实例2
张三的地址为上海,电话为110
2.9获取哈希表中所有的字段名或字段值
hkeys key
hvals key
2.10自增
hincrby key field increment
hincrbyfloat key field increment
3.list
- 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
- 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
- list类型:保存多个数据,底层使用双向链表存储结构实现
3.1添加/修改数据
lpush key value1 [value2] ……//从队头放数据
rpush key value1 [value2] ……//从队尾放数据
3.2获取数据(下标从0开始)
lrange key start stop//从start取到stop
lindex key index//取第index个数据
llen key
3.3获取并移除数据
lpop key
rpop key
3.4规定时间内获取并移除数据
blpop key1 [key2] timeout
brpop key1 [key2] timeout
brpoplpush source destination timeout
3.5 移除指定数据
lrem key count value
3.6实例3
4.set
- 新的存储需求:存储大量的数据,在查询方面提供更高的效率
- 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询
- set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的
4.1添加数据
sadd key member1 [member2]
4.2获取全部数据
smembers key
4.3删除数据
srem key member1 [member2]
4.4获取集合数据总量
scard key
4.5判断集合中是否包含指定数据
sismember key member
4.6随机获取集合中指定数量的数据
srandmember key [count]
4.7随机获取集合中的某个数据并将该数据移出集合
spop key [count]
4.8求两个集合的交、并、差集
sinter key1 [key2]
sunion key1 [key2]
sdiff key1 [key2]
4.9求两个集合的交、并、差集并存储到指定集合中
sinterstore destination key1 [key2]
sunionstore destination key1 [key2]
sdiffstore destination key1 [key2]
4.10将指定数据从原始集合中移动到目标集合中
smove source destination member
5.sorted_set 类型
- 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
- 需要的存储结构:新的存储模型,可以保存可排序的数据
- sorted_set类型:在set的存储结构基础上添加可排序字段
5.1添加数据
这里的score作为排序的得分
zadd key score1 member1 [score2 member2]
5.2获取全部数据
zrange key start stop [WITHSCORES]
zrevrange key start stop [WITHSCORES]
5.3删除数据
zrem key member [member ...]
5.4按条件获取数据
zrangebyscore key min max [WITHSCORES] [LIMIT]
zrevrangebyscore key max min [WITHSCORES]
5.5条件删除数据
zremrangebyrank key start stop
zremrangebyscore key min max
5.6获取集合数据总量
zcard key
zcount key min max
5.7获取数据对应的索引(排名)
zrank key member
zrevrank key member
5.8score值获取与修改
zscore key member
zincrby key increment member