Redis学习

NoSQL概述

NoSQL数据库的分类

  1. KV键值对:Redis;
  2. 文档型数据库(Bson格式):MongoDB:基于分布式文件存储的数据库
  3. 列存储数据库:HBase;分布式文件系统
  4. 图关系数据库
    在这里插入图片描述

分布式数据库中的CAP和BASE

传统的ACID分别是什么

  1. A(Atomicity) 原子性
  2. C(Consistency)一致性
  3. I(Isolation)隔离性
  4. D(Durability)持久性
    在这里插入图片描述
    CAP
  5. C(Consistency)强一致性
  6. A(Availability) 可用性
  7. P(Partition tolerance)分区容错性

3选2
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
BASE

  1. BA(Basically Available) 基本可用
  2. S(Soft state)软状态
  3. E(Eventually consistent) 最终一致性

在这里插入图片描述

Redis入门概述

Redis:Remote Dictionary Server 远程字典服务器
在这里插入图片描述
三个特点:

  1. 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启时可以再次加载进行使用
  2. 不仅仅支持简单的KV类型,还提供List,Set,ZSet,Hash等数据结构的存储
  3. 支持数据的备份,即Master—Slave的数据备份

Redis安装

其他知识

  1. 单进程
    在这里插入图片描述

  2. 默认16个库
    在这里插入图片描述

  3. 一些命令
    启动redis服务 redis-server redis.conf
    进入redis redis-cli -p 6379(默认端口)
    设置 键值对set K V
    得到键值对 get K V
    清空当前DB FLUSHDB
    清空所有DB FLUSHALL

  4. 密码统一管理

  5. 索引从0开始

Redis数据类型

Tips:获取redis常见数据操作命令 redisdoc.com

Redis 的键 Key

常用操作:

  • keys * 查询所有key
  • exists key 判断某个key是否存在
  • move key db 从当前db移动到 【db】库
  • expire key 为给定key设置过期时间 秒 过期后会被删除
  • ttl key 查看还有多少秒过期 -1 表示永不过期, -2 表示已经过期
  • type key 查看key 的类型
  • get key
  • set key 后设置的值会覆盖前一个值
    在这里插入图片描述

String

在这里插入图片描述
常用操作

  • set/get/del/append/strlen
    在这里插入图片描述

  • incr/decr/incrby/decrby
    在这里插入图片描述

  • getrange/setrange
    在这里插入图片描述

  • setex(set with expire)键秒值/setnx(set if not exist)
    在这里插入图片描述

  • mset/mget/msetnx
    在这里插入图片描述

Hash

在这里插入图片描述
Hash: KV模式不变,但是V是一个键值对

  • hset/hget/hmset/hmget/hgetall/hdel
    在这里插入图片描述
  • hlen
    在这里插入图片描述
  • hexists key 在key里面某个值的key
    在这里插入图片描述
  • hkeys/hvals
    在这里插入图片描述

user : [id:11]
key:value[key:value]
在这里插入图片描述

  • hincrby/hincrbyfloat

在这里插入图片描述

List

在这里插入图片描述

  • lpush/rpush/lrange
    在这里插入图片描述
    lpush: 类似于栈 rpush:类似于队列

  • lpop/rpop
    在这里插入图片描述
    lpop从头开始弹出 rpop从尾开始弹出

  • lindex
    在这里插入图片描述

  • llen
    在这里插入图片描述

  • lrem key n删除n个value
    在这里插入图片描述

  • ltrm key startindex endindex从开始index到结束index 截取指定范围内的值 再赋给key
    在这里插入图片描述

  • rpoplpush list1 list2 从list1底部取出一个数 从头压入list2
    在这里插入图片描述
    在这里插入图片描述

  • lset key index value 设置key 中index下标的值
    在这里插入图片描述

  • linsert key before /after v1 v2… 将v2插入到v1前/后
    在这里插入图片描述
    在这里插入图片描述

Set

在这里插入图片描述

  • sadd/smembers/sismember
    在这里插入图片描述
    在这里插入图片描述

  • scard/srem key value
    在这里插入图片描述

  • srandmember key随机出几个数 / spop key随机出栈
    在这里插入图片描述

  • smove key1 key2 在key1中的一个值 :作用是将key1中的值赋给key2
    在这里插入图片描述

  • sdiff差集/sinter交集/sunion并集
    在这里插入图片描述

ZSet

在这里插入图片描述
在set基础上加了一个score 的值
set k1 v1 v2 v3
zset k1 score1 v1 score2 v2 score3 v3

  • zadd/zrange
    在这里插入图片描述

  • zrangebyscore key 从开始score 结束score (不包含 limit 截取
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • zrem key 某一个score对应的value值,
    在这里插入图片描述

  • zcard / zcount key score区间/zrank key values 获取下标值/zscore key 对应值 ,获得分数
    在这里插入图片描述

  • zrevrank key value ,逆序获得下标

  • zrevrange

  • zrevrangebyscore key

解析配置文件

Redis 持久化

RDB :Redis DataBase

  1. RDB:是什么
    在这里插入图片描述
    RDB保存的是dump.rdb文件
  2. Fork
    在这里插入图片描述
  3. 配置位置
    在这里插入图片描述
    snapshot
    在这里插入图片描述
    save flushAll 都会马上备份

stop-writes-on-bgsave-error
在这里插入图片描述

rdbcompression
在这里插入图片描述
在这里插入图片描述

  1. 如何触发RDB快照
    在这里插入图片描述
    在这里插入图片描述
  2. 如何恢复
    在这里插入图片描述
  3. 优势
    在这里插入图片描述
  4. 劣势
    在这里插入图片描述
  5. 如何停止
    在这里插入图片描述
  6. 总结
    在这里插入图片描述

AOF : Append Only File

  1. 是什么
    在这里插入图片描述
    保存appendonly.aof
  2. 配置
    在这里插入图片描述
  3. AOF启动/修复/恢复
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. Rewrite
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 优势劣势
    在这里插入图片描述
    在这里插入图片描述
  3. 总结
    在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Redis事务

是什么

在这里插入图片描述

常用命令

  1. DISCARD 取消事务
  2. EXEC 执行事务块所有命令
  3. MULTI 标记一个事务的开始
  4. UNWATCH 取消WATCH命令对所有key 的监视
  5. WATCH KEY KEY 监听一个或多个key ,如果在事务执行之前这个key被其他命令改动,那么事务会被打断

正常执行
在这里插入图片描述
放弃事务
在这里插入图片描述
全体连坐(编译出错)
在这里插入图片描述
冤头债主(运行出错)
在这里插入图片描述

watch监控
在这里插入图片描述
悲观锁
在这里插入图片描述
乐观锁
在这里插入图片描述
在这里插入图片描述
事务内
在这里插入图片描述
事务外
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
一旦执行exec watch会被取消

在这里插入图片描述
小结
在这里插入图片描述

Redis的主从复制

概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一主二仆
在这里插入图片描述

主机写 从机读
在这里插入图片描述
主机关闭后 从机不变
在这里插入图片描述
从机关闭后再启动 需要重新连接(除非写进配置文件)
在这里插入图片描述
在这里插入图片描述

薪火相传
在这里插入图片描述
79<–80<–81
在这里插入图片描述
反客为主
79主机关闭 80SLAVEOF no one
80<—81
在这里插入图片描述

在这里插入图片描述

复制原理

在这里插入图片描述

哨兵模式(反客为主的自动化)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
缺点
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值