Redis数据库是优秀的开源的NO-SQL数据库,是基于内存实现的K-V模型数据库,访问速度特别快
Redis的数据类型:
1.String 字符串
2.List 集合
3.Set 集合 不可重复
4.Hash 集合 类似Map
5.ZSet 集合 带有分数的Set集合
Redis常用命令:
String:字符串类型,值不仅仅可以是字符串还可以是数值 k-v
set key value [EX 秒] | [PX 毫秒] 设置
set s2 123 EX 10 设置s2 值为123 有效期10秒
get key 获取
setnx key value 设置 如果key存在就返回0 不存在就返回1
setex key 秒数 value 设置并标记有效期
del key [key ...] 删除指定的key 可以一次删除多个
mset key value [key value ...] 设置多个key和value
mget key [key ...] 获取多个key的值
getset key value 获取并设置key的内容
incr key 自增1
decr key 自减1
incrby key 增量值 加上指定的值
decrby key 减去的值 减去指定的值
strlen key 获取长度
append key 追加的值 追加指定内容
setrange key 开始替换的索引 替换的值 替换指定范围的内容
List: 基于链表结构实现,双端链表 可以模拟常用的数据结构,元素有序且可以重复
lpush key value [value ...] 新增数据 从头部添加 模拟栈
rpush key value [value ...] 新增数据 从尾部添加 模拟队列
linsert key before|after 元素值 新增值 添加数据 插入
lrange key 起始索引 终止索引
llen key 获取元素个数
lset key 索引 修改的值 修改
lrem key 要删除的数量 删除的值
lpop key 从前往后 移除1个元素
rpop key 从后往前 移除1个元素
lindex key 索引 获取指定索引的值
rpoplpush 第一个集合 第二个集合 从第一个集合的底部删除一个元素添加到第二个集合的头部
Set:集合 无序而且值不可重复 可以实现各种交集、并集等操作
sadd key value [value ...] 新增数据
smembers key 获取指定key的所有元素
spop key 数量 随机返回并删除指定数量的元素
srandmember key [数量] 随机获取指定数量的元素
scard key 查看指定key的元素个数
sismember key 值 校验值是否存在 存在返回1不存在返回0
srem key value [value ...] 删除元素,可以删除多个
sdiff 第一个集合 第二个集合 返回第一个集合中不再第二个集合中的元素的值
sdiffstore 新集合 第一个集合 第二个集合 将第一个集合中不再第二个集合中的元素的值存储到新集合中
sinter 第一个集合 第二个集合 获取2个集合的交集元素
sinterstore 新集合 第一个集合 第二个集合 将2个集合的交集元素存储到新集合中
sunion 第一个集合 第二个集合 获取2个集合的并集元素
sunionstore 新集合 第一个集合 第二个集合 将2个集合的并集元素存储到新集合中
smove 第一个集合 第二个集合 元素值 将第一个集合中的元素值移动到第二个集合中
ZSet:就是对set集合的补充,元素不可重复,只是多了一个double类型的分数,可以根据这个分数进行排序,分数可以重复
zadd key 分数 value 新增
zrange key 起始索引 终止索引 获取指定索引范围内的元素
zrangebyscore key 最小分数 最大分数 获取指定分数范围内的元素
zcard key 获取集合的元素个数
zrank key 元素值 获取元素的分数从低到高的对应索引
zrevrank key 元素值 获取元素的分数从高到低的对应索引
zcount key 起始分数 终止分数 获取指定范围内的分数对应的元素个数
zincrby key 添加的分数 元素 为元素的分数添加指定的值
zrem key 元素值 删除指定的元素
zremrangebyscore key 起始分数 终止分数 删除指定分数范围内的元素
zremrangebyrank key 起始索引 终止索引 删除指定索引范围内的元素 分数从低到高
Hash: 常用的,类似JAVA中Map集合,拥有键值对信息,适合存储对象
hset key field value 设置内容
hset stu1 id 1
hget key field 获取指定集合中字段的值
hget stu1 id
hmset key field value [ field value ...] 批量新增内容
hmget key field [ field ...] 批量获取内容
hsetnx key field value 新增内容 如果字段不存在就返回1 存在就返回0
hincrby key field 增量值 在指定的字段值上添加指定的值
hlen key 获取指定集合的元素个数
hkeys key 获取指定集合的所有的字段
hvals key 获取指定集合的所有的值
hgetall key 获取指定集合的所有的字段和值
hdel key field [field ...] 删除指定集合中的指定字段的元素
hexists key field 验证指定集合中释放存在字段 存在就返回1 不存在返回0
系统命令:
keys 匹配规则 允许使用* 查看当前数据库中,存在的所有的键
info 查看Redis的配置信息
select 数据库的索引 切换数据库 Redis默认有16个数据库 从0-15 默认连接都是0库
exists key 验证是否存在某个键 存在返回1 不存在返回0
expire key 秒数 设置指定key的有效期 单位秒
ttl key 查看指定key的剩余有效期 单位秒
del key 删除指定的key
persist key 取消有效期 变为永久有效
rename 原来的key 新key 重命名
randomkey 随机返回一个key
move key db索引 移动key到指定的数据库中
flushdb 清空当前的数据库
flushall 清空所有数据库
config get 配置属性名称 获取指定配置文件中指定名称的值
config set 配置属性名称 值 设置指定配置文件中指定名称的值
auth 密码 密码认证 有密码的话必须进行认证,否则无法操作
现将Redis常用命令总结如上,大家可以参考学习,如有错误请各位大牛指出。谢谢各位阅读。