Redis入门及介绍(NoSQL)

NoSQL
指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理系统,NoSQL是web2.0时代海量数据催生的产物。
特点
1,不支持SQL语法。
NoSQL的世界中没有一种通用语法,每种NoSQL数据库都有自己的语法,以及擅长的业务场景。
2读写性能高
NoSQL数据库存在于内存当中,具有非常高的读写性能,尤其在海量数据下,它的表现非常优秀。
3,灵活的数据模型
NoSQL的储存方式十分灵活,存储方式可以是JSON,键值对(key value)或者其他方式。

Redis
Redis的诞生
2008年,意大利的一家创业公司Merzia推出一款基于MySQL的网站实时统计系统LLOOGG,由于数据海量创始人SalvatorSanfilippo对MySQL的性能感到失望,决定为LLOOGG量身打造一个数据库,就此诞生了Redis。
Redis的特点
1,Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载进行使用。
2,Redis不仅仅支持简单的key-value数据类型,同时还可以把value分为list,set,zset,hash等数据结构存储。
3,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。

Redis的基本使用
1,启动
redis-server
在这里插入图片描述
2,多数据库
Redis默认支持16个数据库,从0开始递增命名
select 加上切换数据库的数字

3,进入Rdeis库(默认进入第0个数据库)
在这里插入图片描述
4,切换数据库
例如 select 1(切换到数据库1,注意数据库0没有[n])
在这里插入图片描述
5,关闭数据库
redis-cli shutdown

基本操作
插入数据un
set key balues 来设置一个新的键值对
set num 1
mset unm1 a num2 b 同时设置多个(mset)
在这里插入图片描述
查询数据
keys * 查询所有的key值
在这里插入图片描述
get num 获取num所对应的值(存在返回对应的值,不存在返回nil)
在这里插入图片描述
mgetm num unm1 num2 一次获取多个
在这里插入图片描述
exists key 判断一个键是否存在,存在返回1,不存在返回0。
在这里插入图片描述
rename key new_key 对键重新命名
在这里插入图片描述
与正则相似的用法
在这里插入图片描述
设置key的过期时间(例如手机验证几分钟内有效)
expire key seconds 设置过期时间(单位秒)
set bar abcd
expire bar 20
在这里插入图片描述
20秒后我们再去查看bar会发现值已经过期变成空(nil)
在这里插入图片描述
ttl 查看key的过期时间还剩多少秒,如果为-1表示永久,如果为-2表示不存在
在这里插入图片描述
删除键
del key … 可以一次性删除多个键,反会的是删除的个数
在这里插入图片描述
当我们想删除一类键时,比如ba开头的键,在redis里面是不能实现的,我们可以通过liunx命令结合 | xargs实现批量删除
在这里插入图片描述
Redis数据库之间并不是完全隔离的,比如FLUSHALL(flushall)命令可以清空一个Redis实例中所有数据库中的数据
在这里插入图片描述

数据类型

字符串类型-string
字符串是Redis的基本数据类型,使用set生成键值对,其value就是字符串类型,字符串类型可以存储任何形式的字符串。

incr num1 对num1进行加1
decr num1 对num1进行减1
incrby num1 10 对num1进行加10
decrby num1 10 对num1进行减10
append num1 abc 添加字符串返回字符串长度
在这里插入图片描述

列表-list
lpush (left)左边添加先进后厨(栈 瓶子装水先进去的在下边)
rpush (right)右边添加先进去的在最上边(队列)
lrange 获取列表片段
lrange ls 0 5 获取前0到5的字符包含5
lrange ls 0 -1获取全部(-1表示最后一个)
lpop 从左边删除元素
rpop 从右边删除元素
在这里插入图片描述
哈希类型-hash
在这里插入图片描述
hset 创建hash字段
hget 获取值
hmget批量获取
hincreby usr age 2 给年龄增加2
hdel key feild … 删除一个/多个字段
在这里插入图片描述
集合-set
sadd key member …一次增加单个多个元素
srem key menber … 一次删除单个多个元素
spop key n 随机删除你个元素
sismember 判断元素是否存在
smembers key 获取所有元素
scard key 获取集合元素个数
在这里插入图片描述
sinter key1 key2 … 求交集
suniom key1 key2 … 求并集
sdiff key1 kye2 … 求差集
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_47792921/article/details/107659810