初始redis

Redis学习笔记

1.是什么?
    是完全免费开源的,一个高性能的key-value非关系型数据库,有以下三个特点:
2.能干嘛?
    a.支持数据持久化;
    b.不仅支持key-value数据结果,还支持其他的set,list等丰富的数据结构;
    c.支持数据的备份,即master-slave模式的数据备份;
    d.内存存储和持久化,取最新N个数据的操作,发布、订阅消息系统,定时器、计数器
3.怎么用?
    一般在linux上安装使用

1).NoSQl(not only sql):泛指非关系型数据库
常见的有mangodb,redis
特点:易扩展,灵活的数据模型,高可用,高性能

2).传统数据库mysql和redis对比
mysql: ACID
A: Atomicity 原子性
也就是说事物里的所有操作要么都成功,要么都不成功。例如:A转给了B100元,A转成功了,但是B接收失败,那么就按照原子性,就会
回滚所有操作。
C: Consistency 一致性
I: Isolation 独立性
并发事物之间不影响
D: Durability 持久性
redis: CAP
C: Consistency 强一致性
A: Availabity 可用性
P: Partition tolerance 分区容错性
一个分布式系统一般3个只能满足2个条件,AC,CP,AP,然而P又是分布式系统必须满足的条件,传统的是CA,分布式中AP是大多数的选择

3).redis安装步骤:
1、安装Linx虚拟机,系统CentOS,SSH客户端SecureCRT
2、Linx在线安装gcc,yum install gcc-c++,一路选 y
3、下载redis.tar.gz安装包、上传到linux上面
4、解压文件 tar -axvf redis.tar.gz
5、进入redis目录,编译 make
6、安装、指定安装目录 make PREFIX=/usr/local/redis install
7、进入安装完成的目录 cd /usr/local/redis
8、返回解压安装路径
9、拷贝redis.conf cp redis.conf /usr/local/redis
11、cd /usr/local/redis 修改配置文件 vim redis.conf,进入编辑模式
12,daemonize no 改为 yes
13、启动redis redis-server ./redis.conf 启动客户端./redis-cli -p 6379
注意:可以有多个conf配置文件,就意味着有多个redis,端口也可以另外起
14、测试启动 ps -f | grep -i redis、默认端口6379 输入ping 返回pong则成功
15、停止启动 shutdown

4).redis 五中常见的数据结构
1)String
2)list
3)zset(sorted set)
4)hash
5)set

5).redis常见操作指令
1.select: 总共有16个库,下标从0-15,使用select 下标 进行切换数据库
2.dbsize: 显示有多少个值
3.keys: keys * 显示当前库所以key,keys k? 模糊查询出所有k开头的key
4.flushdb: 清除当前数据库,flushall清除所有数据库
5.move: move k3 2 将k3键值对移到数据2中
6.exists: exists key 判断某个key是否存在
7.expire: expire key 秒 设置该key多少秒后过期
8.type: type key 查看该key多少秒后过期
9.ttl: ttl key查看还有多少秒后过期,-1永不过期,-2已过期
10.config get dir 读取文件,用于恢复数据

6).redis redis.conf配置文件解析
https://www.cnblogs.com/kreo/p/4423362.html

7).持久化
一般都是用redis作为数据缓存使用,为什么redis这么快?因为它减少了数据频繁I/O的读写,是直接从内存中读写的,两种持久化方式:
1.RDB(Redis DataBase)
redis是一个数据库,会以一定的时间间隔内将数据写到磁盘中,持久化,当断电或异常时,再下次复重新从磁盘中读取数据文件
默认的文件名是dump.rdb,但是如果上一次是异常关闭redis的话,redis会把最后的数据强制读到磁盘中,但是这次数据有可能是空的
也就是说,用reb的方式可能造成最后一次数据丢失
一定的时间间隔:其实是一个触发条件,文档有说明15min改1次,5min改10次…这些可以自定义修改的,但是redis异常关闭时,这个是强制保存
到磁盘中的,save命令也可以触发保存机制
优势:适合大规模的数据恢复,速度很快;有2中方式,一种是直接放在目录,只用是CONFIG GET 目录(具体百度)
劣势:最后一次保存如果发生异常,会丢失数据
2.AOF(Append Only File)
aof是个文件,redis每秒读取数据保存到aof文件中,这个文件会很多,并且增加io的复旦,但是文件达到一个值时,redis会将它压缩,
整体情况是要从配置文件中开启,然后aof文件会保存redis所有的操作,然后待要恢复的时候,再原封不动的执行该文件的内容
达到恢复数据的功能,aof比rdb保存数据更加完整,当开启2中模式的话,redis会默认对aof的数据先加载恢复

8).redis同样也支持事物

9).redis消息订阅功能–可以充当消息中间件,但是一般不用它,仅仅只是用它作为分布式数据库缓存而已,有专门的消息中间件可以用

10).redis主从复制(master-slave),读写分离
是什么?
主从复制指的是主机数据更新后根据相关配置和策略,自动同步到备机中,master以写为主,slave以读为主
能干嘛?
读写分离:主机写,从机读
怎么用?
1.info replication 查看当前redis角色信息,是主机还是从机
2.slaveof ip port 将当前redis作为从机,指定主机ip和端口
哨兵机制
sentinel.conf 在这个配置文件中配置监听策略,当master挂了,根据配置文件从slave中选出master,如果
这时原来master恢复了,它也只能是个slave了

11).java连接redis,jedis操作,具体参考相关api

12) java中jedis的使用
public static void main(String[] args) {
Jedis jedis = new Jedis(ip,port);
jedis.auth(“123”);//这里的123是密码,redis默认没有密码,可以自己设置的
System.out.println(jedis.ping());//打印出pong,表示连接成功
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值