- 博客(25)
- 收藏
- 关注
原创 redis单线程为何处理数据这么快
高效的数据结构:Redis支持多种数据结构,如字符串、哈希表、列表等,这些数据结构都经过了优化,可以满足不同的数据存储和处理需求。Redis内部使用了一些高效的数据结构实现,比如使用哈希表来存储键值对,使用跳表来实现有序集合等,这些数据结构的设计和实现使得单线程可以高效地进行数据处理。非阻塞的I/O模型:Redis使用了非阻塞的I/O模型,通过事件驱动的方式来处理客户端请求。需要注意的是,虽然Redis是单线程的,但它在处理数据时可以利用多个CPU核心,并通过多路复用技术来处理并发请求。
2024-01-11 14:16:56
429
原创 如何保证缓存redis 和数据库数据的一致性
在更新数据时,可以使用队列或消息中间件的方式,将更新操作发送到一个消息队列中,然后异步处理更新数据库和缓存的操作。更新数据时,先更新数据库,然后再删除缓存中对应的数据,下次读取时再从数据库中读取最新数据并存入缓存。读取数据时先从缓存中读取,如果缓存中不存在,则从数据库中读取,并将数据存入缓存,这样下次读取时就可以从缓存中读取,避免频繁查询数据库,提高性能。在删除数据时,先删除数据库中的数据,再删除缓存中的数据。对于需要频繁更新的数据,可以设置缓存的过期时间较短,这样可以保证数据的及时更新。
2024-01-11 14:15:39
533
原创 Zookeeper 使用及原理
当客户端向Leader节点发送写请求时,Leader节点会将该请求广播给所有的Follower节点,Follower节点会将请求写入本地日志,并且向Leader节点发送确认消息。这样,所有的Follower节点都可以按照相同的顺序,将写请求应用到自己的数据状态机中,从而保证了数据的一致性。临时节点是指在客户端断开连接后,该节点会被删除;命名服务:Zookeeper可以作为分布式应用的命名服务,每个应用都可以在Zookeeper上注册自己的地址,其他应用可以通过Zookeeper查询到需要访问的应用地址。
2024-01-08 17:49:53
436
原创 Kafka 原理及使用
生产者写入数据:使用 Kafka 提供的生产者 API,可以将数据写入到指定的主题中,生产者可以是单个应用程序,也可以是分布式的多个应用程序。消费者读取数据:使用 Kafka 提供的消费者 API,可以从指定的主题中读取数据,消费者可以是单个应用程序,也可以是分布式的多个应用程序。创建主题:使用 Kafka 提供的命令行工具或 API,可以创建一个或多个主题,并指定其相关属性,如分区数、备份数等。Kafka 是一个分布式的流平台,最初由 LinkedIn 开发,用于处理大规模的实时数据流。
2024-01-08 17:49:03
509
原创 mysql 数据库ACID
ACID 是指数据库事务的四个特性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)
2023-11-02 18:09:02
103
原创 go语言基础数据
需要注意的是,Go语言的整数类型默认为有符号数,浮点数类型默认为float64,可以使用int和float关键字表示系统默认的整数和浮点类型。另外,可以使用rune类型表示Unicode字符,byte类型表示字节,这两个类型本质上也是整数类型。搭建Go开发环境包括两部分:安装Go编译器和设置GOPATH环境变量。布尔类型:bool,表示真或假,只有两个值true和false。现在你已经搭建好了Go的开发环境,可以开始编写Go程序。字符串类型:string,用于表示文本字符串。
2023-06-25 16:58:44
74
原创 关于redis 主从复制使用
数据备份和灾难恢复:主从复制可以实现数据备份和灾难恢复,当主服务器出现故障时,可以快速切换到从服务器上运行,从而保证系统的可用性和数据的安全性。高可用集群:通过主从复制,可以实现高可用性的集群,当主服务器出现故障时,从服务器可以自动接管,从而提高系统的可用性。读写分离:通过主从复制,主服务器可以处理写操作,从服务器可以处理读操作,从而实现读写分离,提高系统的并发性能。负载均衡:通过主从复制,可以实现负载均衡,将不同的请求分配到不同的节点上,从而提高系统的并发性能和可扩展性。重启主服务器,使配置生效。
2023-06-25 13:31:37
92
原创 centos 如何配置yum源。
由于CentOS社区于2021年12月31日结束对CentOS 8的维护支持(EOL),服务器系统的yum命令都无法正常使用所以找了下解决方案.CentOS社区于2021年12月31日结束对CentOS 8的维护支持(EOL)。CentOS社区于2020年11月30日结束对CentOS 6的维护支持(EOL)。执行以下命令,生成缓存。本次写这个文章权当记录。
2022-09-09 09:41:25
785
原创 关于linux系统修改登录密码后无法ssh远程连接
最近发现公司的服务器ip地址一直有人在暴力破解ssh登录密码,甚至还出现了被登录的情况。这个就很危险了。所以就立马着手修改登录root密码,原来新建服务器的时候密码设计的比较简单。所以这次打算密码做复杂点的。 本人建议密码类的可以找个网站自动生成这种的 12-16位不等。毕竟复杂的密码也不是那么快被破解。 然后说下我遇到的问题:修改密码 passwd 直接改了root密码,没有问题 甚至远程连接一下也可以连上。后边就出了比较奇怪的事情 ,过了几分钟后服务器突然就连不上了... 我本以为是密码问
2022-06-30 11:18:24
2109
原创 php底层结构原理简析
用了这么多年php,底层原理我其实自己还是没完全吃透。这里简单记录一下php的底层结构和工作原理,用于记录:php是一种适用于web开发的动态弱类型语言,它的底层是用c语言实现的。1、特点:多进程模型:php是多进程模型,各请求之间互不干涉,这样保证了每一个请求不会对整个服务有巨大影响,当然现在的php有很多方法来实现多进程模型。弱类型语言:和c、Java、等等等语言类型不同,它属于弱类型语言,一个变量的类型并不是一开始就确定不变的,只有在运行到最后才能确定变量类型。Zend 引擎 +
2020-09-27 16:40:31
447
原创 vue3相对路径图片编译后无法显示
本人前端菜鸟一枚,第一次使用vue写前端遇到这个问题抓耳挠腮没找到解决办法。后来请教前辈才知道vue的强大:我在html中的标签: <img src="../assets/image/ai_content_1@2x.png" /> 是这么写的,图片用的相对路径,在本地不编译的话是没有问题正常。但是编译后你就会发现在域名后一旦有路径 整个vue的 img js css 的加载路径都会报错。需要在vue.config.js中修改配置publicPath,将 / 改为 ./ 然后重新编译就可以了
2020-09-25 11:12:44
1252
原创 学了点python总想爬点东西
自从开始接触python 就喜欢写下简单的爬虫,不管爬什么。这上班闲的无聊,想偷偷看小说就写了一个爬虫来爬小说文本:内容仅供参考:import lxmlimport gzipimport randomimport osfrom urllib.request import Request,urlopendef get(utl,m=1): USER_AGENTS_LIST = [ "Mozilla/4.0 (compatible; MSIE 6.0; Wind
2020-09-17 16:17:06
199
原创 python的自我修炼
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-08-28 18:16:55
578
转载 sql建立高性能索引
原文链接:https://blog.csdn.net/zly9923218/article/details/51481475索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。在数据量小且负载较低时,不恰当的索引对性能的影响可能还不明显,但是当数据量逐渐增大时,性能会急剧下降。索引可以包含一个或者多个列的值。如果索引包含了多个列,那么列的顺序也十分重要...
2019-01-14 17:19:50
136
转载 go语言变量
转载自https://blog.csdn.net/han0373/article/details/80376420首先,先提供给大家一个api官网,开发者必备手册,地址:https://golang.org/cmd/api/当然,可能有的朋友没有VPN,连接不上官网,有一个本地查看文档的方式,如下:$> go help docusage: go doc [-u] [-c] [...
2019-01-14 17:11:22
300
转载 php 有关设计模式
策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2....
2018-12-13 18:42:39
104
原创 session 如何存储于memcache
web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,不过前提你需要装好memcache模块1.设置session用memcache来存储方法I: 在 php.ini 中全局设置session.save_handler = memcache...
2017-11-01 17:16:00
177
原创 关于session共享的解决方法
当网站业务规模和访问量的逐步增大,原本由单台服务器、单个域名组成的网站架构可能已经无法满足发展需要此时会购买更多的服务器,并且以频道化的方式启用多个二级子域名,然后根据业务功能将网站分别部署在独立的服务器上,或者通过负载均衡技术让多个频道共享一组服务器如果我们把网站程序分别部署到多台服务器上,而且独立为几个二级域名,由于Session存在实现原理上的局限性(例如...
2017-10-31 16:32:00
195
原创 php 分页类完美利用
<?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表...
2017-10-31 16:18:00
88
原创 js实现冒泡排序的写法
js中的冒泡排序以及实现一个数组中得最到最大的数字小例这其实是一个很简单的js就可以实现,当然一般情况就是利用for循环,从第一个跟第二个开始比较,根据大小交互位置,思路很简单。也就是js中的冒泡排序冒泡排序 时间复杂度为O(n^2),有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到...
2015-10-27 14:56:00
204
原创 js 获取月份 格式yy-mm-dd
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取...
2015-10-27 14:54:00
644
原创 linux 生产环境搭建
Linux基础命令杂记 今天又一次搞Linux生产环境搭建。这是种步骤很多,很繁琐而且又不得不做的事情。虽然做过很多次,但还是有很多步骤、命令不记得,每一次到处找资料很麻烦,于是将一些步骤记下,以便查找。登录远程MySQL1mysql -h 192.168.1.100 -u root -p给M...
2015-10-27 14:50:00
128
原创 php 常用经验
1、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。3、$row[‘id’]...
2015-10-27 12:02:00
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人