1.NoSql的概念
1. 什么是NoSql
nosql 它是非关系型数据库
nosql 用于解决网站里面大数据和高并发的问题
2. Nosql数据库(特点)
key-value(键值对形式)型 nosql数据库 – 典型代表 redis
2.redis的认识
- redis开源 高性能nosql数据库,数据可以存储在内存或磁盘上面
- Redis 主要key-value结构形式存储,redis底层支持各种类型的数据存储结构
包括 list set map(hash) string等
3.redis的特点
- 数据存储内存,速度比较快
- 支持类型比较多 ,string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合–api)和hash(哈希类型)。
- 支持磁盘存储 – 完成持久化操作 (aof rdb)
- 支持数据的过期 --(设置过期时间 expire)
- 支持集群操作
- 支持订阅和发布
3. Redis 和 Memcache区别
- 不同点:memecache 把数据全部存在内存之中,断电后就没了,数据也不能超过内存大小,
redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化 - 相同点:memcache和redis 都是 key-value 非关系型数据,redis 它是 key-value型的非关系型数据库,作用做缓存
4. Redis的使用
1. 操作String
set key value //将字符串值value关联到key
get key //返回key关联的字符串值
mset //同时设置一个或多个 key-value 对
mget //返回所有(一个或多个)给定 key 的值
incr key //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
decr key //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
incrBy key //自增多少
2. 对key的常用操作
keys * //获取所有key列表
del key //删除key
expire key xx //设置key的过期时间(xx秒后过期)
ttl key //查看key的过期时间
flushall //清空整个redis服务器数据,所有的数据库全部清空
flushdb //清除当前库,redis中默认有16个数据库,名称分别为0,1,2.。。15
2. 对list的常用操作
list集合可以看成是一个左右排列的队列(列表)
lpush key value //将一个或多个值 value 插入到列表 key 的表头(最左边)
rpush key value //将一个或多个值 value 插入到列表 key 的表尾(最右边)
lpop key //移除并返回列表 key 的头(最左边)元素。
rpop key //移除并返回列表 key 的尾(最右边)元素。
lrange key start stop //返回列表 key 中指定区间内的元素,查询所有的stop为-1即可
lindex key index //返回列表 key 中,下标为 index 的元素
ltrim key start stop //对一个列表进行修剪
2. 对set的常用操作
set集合是一个无序的不含重复值的队列
sadd key member //将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略
srem key member //移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略
smembers key //返回集合 key 中的所有成员。
2. 对hash的常用操作
hash类型类似于php的数组
hset key name value//添加一个name=>value键值对到key这个hash类型
hget key name //获取hash类型的name键对应的值
hmset key name1 key1 name2 key2 //批量添加name=>value键值对到key这个hash类型
hmget key name1 name2//批量获取hash类型的键对应的值
hkeys //返回哈希表 key 中的所有键
hvals //返回哈希表 key 中的所有值
hgetall //返回哈希表 key 中,所有的键和值
我们将user:1(name:zhangsan,age:18,sex:nv)的信息保存在hash表.
5. Redis持久化配置
有时候 我们的服务一旦关了,数据就会丢失,但是有时候 我们需要把数据存下来,所以就需要做持久化操作;
Redis 提供了两种不同级别的持久化方式:RDB和AOF,可以通过修改redis.conf来进行配置.
1.RDB模式
RDB 持久化可以在指定的 时间间隔内 生成数据集的时间点快照,默认开启该模式.
如何关闭 rdb 模式:
save ""
save 900 1 //至少在900秒的时间段内至少有一次改变存储同步一次
2.AOF模式
AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,
通过重新执行这些命令来还原数据集,默认关闭该模式
appendonly yes //yes 开启,no 关闭
# appendfsync always //每次有新命令时就执行一次fsync
#这里我们启用 everysec
appendfsync everysec //每秒 fsync 一次
# appendfsync no //从不fsync(交给操作系统来处理,可能很久才执行一次fsync)
其它的参数请大家看redis.conf配置文件详解
来源:CSDN
作者:cheng144
链接:https://blog.csdn.net/qq_41888048/article/details/103994422