redis的小结(主要是知识点)

redis的简介:

     redis是一种非关系型数据库,采用k-v键值对的形式存储,也可以做缓存,是一种基于内存的数据库,因此,redis的存储数据很快,官方数据每秒读速度达到11万次,写8万次,所以读写速度不是redis的瓶颈,redis采用了单线程。

redis的基本用法

 5中基本类型:string list set  sortset map

 3中非基本类型:Geospatial(地图) Hyperloglog(求基数)Bitmap(比特位记录)

redis的事务:

 一次性 顺序性 排他性

 redis的事务部保证原子性,如果事务中有明显的语法错误,就直接抛出,不执行事务。如果出现逻辑错误,则不影响这个事务中其他的命令执行。

redis的乐观锁:watch

 在一个事务执行之前,使用watch进行监控,一旦发现值发生了改变,就停止执行。因为redis是单线程,不必担心在事务执行的过程中对事务中的值进行修改。

redis连接数据库

  jedis : 基于阻塞IO,同步,线程不安全。

 lettuce:基于netty,异步非阻塞,线程安全。

Redis基于配置文件启动:

 

bind 127.0.0.1 #绑定的ip 一般是本机 
port 6379 #绑定的端口
protected-mode yes #设置为守护线程
pidfile /var/run/redis.pid #设置为守护进程的文件配置
logfile "" #配置文件的位置
databases 16   #默认的数据库个数
always-show-logo yes  #是否展示log
#针对rdb储存方式,第一个为例,如果在900s内key修改少于等于一次,就900秒刷新一次
save 900 1  
save 300 10  
save 60 10000
dbfilename dump.rdb #保存的文件名,如果开集群修改配置文件,必须修改,不然有错
dir ./ rdb #保存的目录,如果开集群修改配置文件,必须修改,不然有错
appendonly no    #是否开启aof 
appendfilename "appendonly.aof"  #aof保存的名字
appendfsync always   # 每次修改都会 sync。消耗性能高。
#appendfsync everysec   # 每秒执行一次
#appendfsync everysec   # 不跟新

redis的持久化:

  如果只是用redis做缓存,不需要开启持久化。默认开启rdb

 rdb:像是关系型数据库的数据文件,记录数据库数据,间隔一段时间储存一次。

aof :   像是关系型数据库的脚本文件,记录对redis增删改的文件,每次写一条增删改的指令更新一次(可以设置)

二者同时开启采用aof恢复,aof的比较完整。

redis可以做订阅发布,实现订阅功能。

redis集群:

 一般是一主二从,采用“认老大”的方式确定主机。主机可以读写,从机只能读。

redis的哨兵模式:

 如果没有哨兵,如果主机宕机,只能通过手动配置设置主机,为了自动选举出主机,配置一个哨兵集群,用来随机投票决定采取那个从机当主机。如果原来的从机恢复,则变成从机。

 

本文借鉴狂神说java的B站课程,自己整理的学习笔记,若有同学想学redis,推荐视频地址:https://space.bilibili.com/95256449

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值