Redis学习笔记-事务+Jedis+Redis.conf详解

事务

Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性,顺序性,排他性!执行一些命令!

Redis事务中没有隔离级别的概念!

所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会被执行!Exec

Redis单条命令式保存原子性的,但是事务不保证原子性!

redis的事务:

  • 开启事务(multi)
  • 命令入队(……)
  • 执行事务(exec)
  • 监控(watch)

正常执行事务:如下图:

 放弃事务,如下图:

 编译时异常(代码有问题!命令出错!),事务中所有的命令都不会执行!

 运行时异常(1/0),如果事务队列中存在语法性,那么执行命令的时候,其他命令是可以正常执行的,错误命令抛出异常!

 

        监控 |  watch                                                                                                           

悲观锁:

        很悲观,认为无论什么时候都会出问题,无论时候时候都要加锁!

乐观锁:

        很乐观,认为什么时候都不会出问题,所以不会上锁!更新数据的时候去判断一下,在此期间是否有人修改过这个数据。

        加乐观锁可以通过加version字段来处理,更新的时候比较version

 Redis监控测试                                                                                                             

 

 测试多线程修改值,使用watch可以当做redis的乐观锁操作!

 如果修改失败,获取最新的值就好

Jedis

1.导入依赖:maven官网:https://mvnrepository.com/  导入最新的jedis依赖

<!--导入jedis的包-->
<dependencies>
    <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.0.1</version>
    </dependency>
    <!--fastjson-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.68</version>
    </dependency>
</dependencies>

2.编码测试:

  • 连接数据库
  • 操作命令
  • 断开连接

 输出(必须开启redis-server,才能得到一下结果):

 SpringBoot:Redis整合

 1、新建工程、导入依赖

说明:

        spring2.X之后,底层原来使用的jedis被替换为了lettuce

        jedis:采用直连,多个线程操作是不安全的,要避免不安全,需要使用jedis pool间接持,更像BIO模式

        lettuce:采用netty,实例可以在多个线程**享,不存在线程不安全的情况,可以减少线程数量,更像NIO模式

源码分析:

 2、配置链接

  1. spring.redis.host=127.0.0.1
  2. spring.redis.port=6379

3.测试!

编写我们自己的redisTemplate

所有的redis操作,其实对于java开发人员来说,十分的简单,更重要的是要去理解redis的思想和每一种数据结构的用处和作用场景

Redis.conf详解

启动的时候,就通过配置文件来启动!

1.配置unit单位对大小写不敏感

 包含

就好比学spring中的import,JSP中的include

网络:

bind 127.0.0.1     #绑定的ip

protected-mode  yes   #保护模式

port  6379   #端口设置

通用GENERAL:

快照:

持久化,在规定的时间内,执行了多少次操作,则会持久化到文件.rdb .aof

redis是内存数据库,如果没有持久化,那么数据断电丢失!

 

security 安全:

可以在这里设置redis的密码,默认是没有密码!

 限制clients

append only 模式   aof配置

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值