- 博客(39)
- 收藏
- 关注
原创 Nginx基本配置讲解
文章目录Nginx基本配置讲解正向代理和反向代理的区别Nginx的配置文件**配置文件结构:****配置文件信息:**全局块:events块:http全局块:server块:location块:反向代理负载均衡动静分离配置httpsNginx基本配置讲解Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。Nginx解决的问题高并发
2022-05-30 17:52:49 1007
原创 Zookeeper应用场景
文章目录Zookeeper常用应用场景统一命名服务统一配置管理负载均衡监听服务器动态上下线分布式锁Zookeeper常用应用场景统一命名服务统一命名可以理解为,我们将一部分资源放在同一节点下,以方便管理和取数据。如type 1 是一个域名,下面可以存储域名对应多台机器的ip地址。统一配置管理在分布式环境中,一般所有节点的配置信息是一致的,比如 Kafka 集群,当配置文件修改时,我们希望它快速同步到所有节点上。所以,可以通过zookeeper实现。将配置信息写到一个zookeeper的一
2022-05-16 14:20:00 289
原创 Redis常见面试题(缓存击穿、穿透、雪崩)
Redis常见面试题(缓存击穿、穿透、雪崩)击穿场景:一般由于redis中的数据到期,同时并发用户特别多,此时大量请求压到数据库上。解决思路:根据redis是单进程单实例的特性,当高流量进入redis时,可以认为是在队列中依次执行,当请求发现key过期时,可以设置锁。流程:请求到达redis,发现key过期,查看是否有锁,如果没有回到队列排队。设置锁,用setnx(),也就是当key不存在时再设置,防止其他线程已经设置锁。拿到锁后去数据库中取数据,返回后释放锁。问题1:如果拿到锁以
2022-05-06 20:40:46 1553
原创 Zookeeper集群安装和配置
Zookeeper集群安装和配置首先我们准备四个虚拟机并提前安装好java环境,虚拟机ip分别为:192.168.85.128192.168.85.129192.168.85.130192.168.85.131官网地址:https://zookeeper.apache.org/进入官网点击Download这里下载最新版本,复制链接地址在128服务器中,通过wget下载,解压,创建/opt/djh并将解压后的文件夹移动到该目录下[root@localhost ~]# wg
2022-05-04 19:31:41 1299
原创 Zookeeper介绍及基本概念
文章目录Zookeeper介绍及基本概念设计目标数据模型和分层命名空间ZooKeeper 的分层命名空间节点和临时节点有条件的更新和监视ZooKeeper 的复制集群结构zk的两阶段提交(服务可用状态下)zk的投票选举(服务停止状态下)Zookeeper介绍及基本概念ZooKeeper 是分布式应用程序的分布式开源协调服务。设计目标ZooKeeper 允许分布式进程通过共享的分层命名空间相互协调,该命名空间的组织方式类似于标准文件系统。命名空间由数据寄存器组成——在 ZooKeeper 用语中称为
2022-05-04 19:20:36 3225
原创 Nginx安装
Nginx在官网中找到你要下载的版本,官网地址:https://nginx.org/,在linux环境中通过wget下载到指定目录wget https://nginx.org/download/nginx-1.21.6.tar.gz解压下载好的压缩包tar -zxvf nginx-1.21.6.tar.gz进入解压好以后的文件中编译安装[root@djh nginx]# cd nginx-1.21.6[root@djh nginx-1.21.6]# ./configure --
2022-04-30 16:09:29 130
转载 Redis——基于Spring的开发示例(连接、序列化、high/low api)
文章目录 一、基本开发1、建立spring boot项目2、与vm中的redis建立连接3、测试连接 二、high/low API及序列化1、high level apiRedisTemplateStringRedisTemplate 2、low level api3、操作复值——hash1、原始方式存取2、封装成JSON对象存取(Jackson2HashMapper)3、设置序列化器4、自定义 Template 三、开发流程总结 在前面的文章中,我们学习了有关 R.
2022-04-22 17:58:20 551
原创 Redis集群第二篇之数据分区
Redis集群第二篇之数据分区上篇我们提到,redis单机会存在三个问题单点故障容量有限压力过大通过哨兵(Sentinel),我们可以解决其中两个问题(单点故障和压力过大),但是容量有限的问题怎么解决呢?首先我们可以通过业务逻辑将数据拆分给不同的redis(商品类、购物车类等),如果根据业务逻辑拆分以后还是很大呢?那么就需要数据分区:不同的分区实现方案客户端分区就是在客户端就已经决定数据会被存储到哪个redis节点或者从哪个redis节点读取。大多数客户端已经实现了客户端分区。代理
2022-04-18 17:05:04 611
原创 Redis集群第一篇之哨兵(Sentinel)
Redis集群第一篇之哨兵(Sentinel)Redis单机存在的问题:单点故障容量有限压力过大Redis使用默认的异步复制,其特点是低延迟和高性能解决方案思路:使用AKF拆分原则:AKF旨在提供一个系统化的扩展思路。AKF 把系统扩展分为以下三个维度:X 轴:直接水平复制应用进程来扩展系统。Y 轴:将功能拆分出来扩展系统。Z 轴:基于用户信息扩展系统。redis做主从或主备主从、主备区别:主备:客户端只能访问主,备机只为了接替主机,备机不参与业务。主从:客户端
2022-04-11 13:38:59 1535
原创 Redis持久化
Redis持久化Redis 提供了不同级别的持久化方式:RDB:在指定的时间间隔能对数据进行快照存储.AOF:持久化方式记录每次对服务器写的操作,当服务器重启时会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾,Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.如果希望数据在服务器运行的时候存在,也可以不使用任何持久化方式.也可以同时开启两种持久化方式,,在这种情况下, 当redis重启的时候会优先载入AOF文件来恢复原始的数据,因
2022-04-05 16:38:19 94
原创 Redis事务
Redis事务MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。EXEC 命令负责触发并执行事务中的所有命令:如果客户端在使用 MULTI 开启了一个事务之后,却因为断线而没有成功执行 EXEC ,那么
2022-03-22 18:17:54 72
原创 Redis发布订阅(pubsub)
Redis发布订阅(pub/sub)订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑。举个例子:我们在第一个客户端中订阅一个叫CCTV的频道127.0.0.1:6379> SUBSCRIBE CCTV R
2022-03-22 17:05:24 811
转载 Redis为什么使用跳跃表来实现有序集合(Sorted Set)而不是红黑树或者平衡二叉树呢
Redis 的有序集合(Sorted Set)就是用跳表来实现的。跳跃表是一种随机化的数据结构。我们可以把他看做 Java 中 SortedSet 和HashMap 的结合体,set 保证了value 值就有唯一性,且可以保证每一个value 有一个自己的权重值 socre ,用so...
2022-03-16 16:15:30 1134
原创 Redis挂载布隆过滤器
布隆过滤器安装步骤下载地址:https://redis.io/(英文网站)在modules中找到RedisBloom,右键打开github地址,复制ZIP链接地址,注意版本,建议安装最新版weget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.13.zip安装unzipyum install -y unzip zip解压布隆过滤器压缩包unzip v2.2.13.zip切换到解压
2022-03-14 17:20:53 764
原创 Redis的基本数据类型
Redis的基本数据类型Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件
2022-03-14 17:07:45 1345
原创 Linux下Redis安装步骤
RedisRedis安装步骤下载地址:https://redis.io/(英文网站)http://redis.cn/(中文网站)在redis下载网站,复制下载地址,然后再linux中通过wget下载wget http://download.redis.io/releases/redis-6.0.6.tar.gz解压tar -xf redis-6.0.6.tar.gz安装make如果安装失败,检查是否安装gcc,或者gcc版本是否过低查看gcc版本gcc -v
2022-03-10 22:35:47 1078 1
原创 GIT常用命令汇总
GIT命令总结git工作流程图本地版本控制相关命令说明命令备注查看git安装版本git --version清屏clear设置签名:用户名和邮箱git config --global user.name "xxx"git config --global user.email “xxx.com”然后验证该配置是否正确git config --global user.name初始化本地仓库git init初始化后,会出现一个.git目录(隐
2021-12-25 15:15:33 534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人