redis的几种基本类型的使用

String字符串类型的使用:

set name v1 设置值

keys * 查看所有key

get name v1 获得值

type name key的类型

append v1 loveyou 追加字符串

exists v1 键是否存在

append name hello 如果追加的键不存在,则直接新建一个key

set views 0

incr views   执行加1 (自增1)

decr views  执行减1 (自减1)

incrby views 10 执行自增加10

decr by views 10 执行自减加10

getrange view 0 1 获得键的字符串范围

setrange view 0 xx 替换指定位置开始的字符串

setex(set with expire)设置过期时间

        setex key3 30 "hellolo" 设置key3键30秒过期时间 值是hellolo

setnx(set if not exist)不存在的设置,不存在的话设置为后面的值,存在则不进行覆盖(分布式锁中会常常使用)

127.0.0.1:6379> setnx name "mysql"
        (integer) 0
127.0.0.1:6379> get name
        "hello"

 

 

List的基本用法

 set集合的基本使用:

 

 Hash(哈希数据类型)基本使用:

 

Zset有序集合:

 其他基本操作可以参照文档进行使用!

事务 :

要么同时成功,要么同时失败,原子性!

redis单条命令保存具有原子性,但是事务不保证原子性!

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

redis事务中无隔离级别的概念!

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

------ 队列 set set set 执行 -----

redis的事务:

开启事务(multi)

命令入队(写命令)

执行事务(exec)        

 127.0.0.1:6379> multi   #开启事务
OK
127.0.0.1:6379> set k1 v1  #命令入队
QUEUED
127.0.0.1:6379> set k2 v2  #命令入队
QUEUED
127.0.0.1:6379> set k3 v3  #命令入队
QUEUED
127.0.0.1:6379> exec  #执行事务
1) OK
2) OK
3) OK

--------------------------------------------------------------------------------------------------------------------

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set k4 v4
QUEUED
127.0.0.1:6379> set k5 v5
QUEUED
127.0.0.1:6379> discard  #取消事务
OK
127.0.0.1:6379> get k4  #事务队列中的命令都没有被执行
(nil)

编译型异常(代码有问题,或者命令错误),事务中的所有命令都不会被执行!

运行时异常(1除以0),事务队列中存在语法错误,执行命令时,其他命令是可以被正常执行,错误命令会抛出异常!

 监控:watch

        悲观锁:

        * 认为什么时候都会出问题,无所做什么都要加锁

        乐观锁:

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

        * 获取version

        * 更新的时候比较version

1、如果发现事务执行失败,需要先解锁,2、获取最新的值,再次监视,3、对比监视的值是否发生了变化,如果没有发生变化,可以执行成功,如果变了就执行失败

 jedis的使用:

        1、导包

        2、连接

        3、操作

 此为原生的api,最终仍然需要整合到SpringBoot

SpringBoot整合redis:

        主要是导包及查看自动配置类及配置文件

        对redisTemplate进行自己的序列

Redis配置文件详解:

 Redis的持久化:

        1、RDB持久化

         2、AOF的持久化

 

 

         主从复制:

 

 

 

 

1、如果只是在命令行中设置主从机的话,只是临时生效,主机断开之后,从机可以直接连接,但是从机断了之后,不在重新连接,并且是个主机,需要重新进行设置,但是在配置文件中就会永久性的生效

2、从机如果断开之后又重新连接上了主机,会进行数据复制,即进行一次性的全量复制,随后开启增量复制!

 

哨兵模式(sentinel): 

这是简单的哨兵模式配置,也是核心配置!

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值