自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2021-05-10

2021-05-10 16:45:21 103

原创 Redis(12):Redis缓存穿透、击穿和雪崩

Redis缓存穿透和雪崩服务的高可用问题Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一 些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据 的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案缓存穿透(查不到)概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于 是向持久层数据库

2020-10-28 21:12:20 133

原创 Redis(11):哨兵模式

哨兵模式(自动选举老大的模式)概述主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工 干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑 哨兵模式。Redis从2.8开始正式提供了Sentinel(哨兵) 架构来解决这个问题。谋朝篡位的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独 立运行。

2020-10-28 20:50:41 245

原创 Redis(10):Redis主从复制

Redis主从复制主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主从复制的作用主要包括:数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实

2020-08-22 10:43:37 121

原创 Redis(9):Redis发布订阅

Redis发布订阅Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。命令这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播、实时提醒等。原理Redis是使用C实现的,通过分析 Redis 源码里的 pubsub.c 文件,了解发布和订阅机制的底层实现,籍此加深对 Redis 的理解Redis 通过 PUBLISH 、SUBSCRIBE 和 PSUBSCRIBE 等命令实现发布和订阅功能

2020-08-22 10:42:28 85

原创 Redis(8):Redis持久化

Redis持久化Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,那么一旦服务器进程退出,服务器中的数据库状态也会小时,所以Redis提供了持久化功能!RDB(Redis DataBase)什么是RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,在持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是

2020-08-22 10:41:36 101

原创 Redis(7):Redis.conf详解

Redis.conf详解1、配置文件 unit单位对大小写不敏感包含可以包含多个配置文件网络bind 127.0.0.1 #绑定的ipprotected-mode yes #保护模式port 6379 # 端口设置通用daemonize yes #以守护进程的方式运行,默认为no,需要自己开启pidfile /var/run/redis_6379.pid #如果以后台的方式运行,需要指定一个pid文件# 日志# Specify the ser

2020-08-22 10:39:11 306

原创 Redis(6):Jedis

JedisJedis是Redis官方推荐的java连接开发工具!使用java操作Redis中间件1、导入jar包<dependencies><!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>je

2020-08-22 10:32:54 297

原创 Redis(5):事务

事务Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性!顺序性!排他性!Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行Redis的单条命令是保证原子性的,但事务不保证原子性!Redis的事务:开启事务(multi)命令入队(…)执行事务(exec)127.0.0.1:6379> multiOK127.0.0.1:6379> set k1 v1QUEUE

2020-08-22 10:30:02 140

原创 Redis(4):三种特殊数据类型

三种特殊数据类型geospatial (地理位置)附近的人:(获取所有附近人的地址,定位),通过半径查询geo 底层的实现原理起始就是Zset!我们可以使用Zset命令来操作geoHyperloglog基数一个集合{1,3,4,5,7,8}不重复的元素个数==》基数 = 5,可以接受误差简介Redis2.8.9版本就更新了Hyperloglog数据结构Redis Hyperloglog 技术统计的算法网页的UV(一个人访问一个网站多次,但还是算作一个人!)传统的方式,se

2020-08-22 10:26:23 96

原创 Redis(3):五大数据类型

五大数据类型官网引用Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事

2020-08-22 10:22:59 181

原创 Redis(2):Redis入门

Redis入门概述Redis是什么?Redis:REmote DIctionary I Server(远程字典服务器)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。免费和开源!是当下最热门的NoSQL技术之一!也被称为结构化数据库Redis能干嘛?1、内存存储,持久化,内存中的数据是断电即失,持久化很重要(rdb,aof)2、效率高,可以用于高速缓存3、发布订阅系统4、地图信息分析

2020-08-22 10:18:11 81

原创 Redis(1):Nosql概述

Nosql概述为什么要用Nosql1、单机mysql的年代90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页Html,服务器根本没有太大的压力!这种情况下:整个网站的瓶颈是什么?1、数据量如果太大,一个机器放不下!2、数据的索引(B+Tree),一个机器内存也放不下!3、访问量(读写混合),一个服务器承受不了2、Memcached(缓存)+MySQL+垂直拆分网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希

2020-08-22 10:13:09 116

原创 【剑指offer】从尾到头打印链表 -- Java实现

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。非递归 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list = new ArrayList<>(); if(listNode == null) return list; ListNode temp = listNode;

2020-08-01 21:05:07 106

原创 学习笔记(1):webdriver环境搭建全过程(python+pychram+selenium+firefox)

前言:由于这学期学校开了软件测试这门课,老师要求我们在自己电脑上搭建webdriver环境。经过不断摸索,终于成功了,现在把这些过程记录一下!!!所需软件(括号内是我安装的版本,可供参考)python(python3.7)pycharm(PyCharm社区版2019.3.3 64位)selenium(selenium3.13.0)firefox(firefox56)火狐浏览器驱动(...

2020-03-17 12:27:39 512

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除