一、数据结构
Redis是key-value的数据结构,每条数据都是一个键值对
键的类型是字符串
注意:键不能重复,重复的话会覆盖之前的值
值的类型分为五种:
字符串string
哈希hash
列表list
集合set
有序集合zset
0.键命令
在redis里面,除了"\n"和空格不能作为名字的组成内容外,其他内容都可以作为key的名字部分。名字长度不做要求。
查找键,参数支持正则表达式
keys pattern
判断键是否存在,如果存在返回1,不存在返回0
exists key1
查看键对应的value的类型
type key
删除键及对应的值
del key1 key2 ...
设置过期时间,以秒为单位
如果没有指定过期时间则一直存在,直到使用DEL移除
expire key seconds
查看有效时间,以秒为单位
ttl key
其他keys键操作
改名字
rename oldkey newkey
返回当前数据库的key数量
dbsize
选择数据库,最多有16个数据库供选择,默认的数据库为0
select dbindex
将key从当前数据库移动到指定数据库
move key dbindex
删除当前数据库中所有key
flushdb
删除所有数据库中的所有key
flushall
1.string类型
字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或JSON对象描述信息等。在Redis中字符串类型的value最多可以容纳的数据长度是512M。
1.1保存
设置键值,如果设置的键不存在则为添加,如果设置的键已经存在则为修改
set key value
设置键值及过期时间,以秒为单位
setex key seconds value
设置多个键值
mset key1 value1 key2 value2
追加值
append key value
1.2获取
根据键获取值,如果不存在此键则返回nil
get key
根据多个键获取多个值
mget key1 key2 ...
2.hash
2.1hash类型
hash用于存储对象,对象的结构为属性、值
值的类型为string
2.2增加、修改
设置单个属性
hset key field value
例1:设置键xiaomin的属性height为180
hset xiaomin height 180
报错解决办法
设置多个属性值
hmset key field1 value1 field2 value2
··
2.3获取
获取指定键所有的属性
hkeys key
获取一个属性的值
hget key field
获取多个属性的值
hmget key field1 field2...
获取所有属性的值
hvals key
2.4删除
删除整个hash键及值,使用del命令
删除属性,属性对应的值会被一起删除
hdel key field1 field2...
3.list
3.1增加
在左侧插入数据
lpush key value1 value2...
取列表中所有的值:
在右侧插入数据
rpush key value1 value2...
在指定元素的前或者后插入新元素
linsert key before或after 现有元素 新元素
3.2获取
返回列表里指定范围内的元素
start、stop为元素的下标索引
索引从左侧开始,第一个元素为0
索引可以是负数,表示从尾部开始计数,如-1表示最后一个
lrange key start stop
3.3设置指定索引位置的元素值
索引从左侧开始,第一个元素为0
索引可以是负数,表示尾部开始计数,如-1表示最后一个
lset key index value
3.4删除
删除指定元素
将列表中前count次出现的值为value的元素移除
count>0:从头往尾移除
count<0:从尾往头移除
count=0:移除所有
lrem key count value
4.set
无序集合
元素为srting类型
元素具有唯一性,不重复
说明:对于集合没有修改操作
4.1 增加
添加元素
sadd key member1 member2...
4.2获取
返回所有的元素
smembers key
4.3删除
删除指定元素
srem key
5.zset
sorted set,有序集合
元素为string类型
元素具有唯一性,不重复
每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
说明:没有修改操作
5.1增加
添加
zadd key score1 member1 score2 member2...
5.2获取
返回指定范围内的元素
start、stop为元素的下标索引
索引从左侧开始,第一个元素为0
索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop
返回score值在min和max之间的成员
zrangebyscore key min max
返回成员member的score值
zscore key member
5.3 删除
删除指定元素
zremkey member1 member2...
删除权重在指定范围的元素
zremrangebyscore key min max