Redis持久化:RDB介绍及优劣
Redis数据持久化Redis作为一个内存数据库,数据是以内存为载体存储的,那么一旦Redis服务器进程退出,服务器中的数据也会消失。为了解决这个问题,Redis提供了持久化机制,也就是把内存中的数据保存到磁盘当中,避免数据意外丢失Redis提供了两种持久化方案:RDB持久化和AOF持久化,一个是快照的方式,一个是类似日志追加的方式
RDB(Redis Database) ,将某一时刻的所有数据保存到一个 RDB 文件中。
AOF(append-only-file) ,当Redis服务器执行写命令的时候,将执行的写命令保存到 AOF 文件中。
RDB(Redis DataBase)快照持久化在指定的时间间隔,执行数据集的时间点快照
实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照。这样一来即使故障宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。
这个快照文件就称为RDB文件(dump.rdb)其中,RDB就是Redis DataBase的缩写,该文件是一个压缩过的二进制文件,可以通过该文件还原快照时的数据库状态。RDB文件默认为当前工作 ...
Mysql事务概念笔记
前言在 MySQL 中,事务(Transaction)是一组可以作为单一工作单元执行的 SQL 操作。事务提供了确保数据一致性的重要机制,可以保证多个 SQL 语句要么全部成功执行,要么在出错时不执行任何操作(即 “全部执行或全部回滚” 的原则)。事务通常用于执行需要高一致性的数据操作场景,例如银行转账等涉及多表更新的操作。
事务的四大特性(ACID原则)
原子性(Atomicity):
事务中的所有操作必须全部完成或完全不执行。即使系统发生故障,事务也必须保证要么完全执行,要么完全回滚,不会出现部分执行的情况。
一致性(Consistency):
事务执行前后,数据库必须保持一致的状态。如果事务成功执行,它必须将数据库从一个一致状态转换为另一个一致状态。如果出现错误,事务应回滚到最初的状态,保持数据库一致性。
隔离性:
多个事务可以并发执行,但每个事务的操作和数据的变更应该对其他事务是隔离的,即一个事务在执行过程中不可见其他事务的中间状态。事务隔离有不同的级别(例如:READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ, ...
LeetCode每日一题(24-10)
134. 加油站date: 2024-10-21 tag:贪心算法
题解:定义了两个变量:totalgas和totalcost,表示总获得的油量和消耗的油量,初始为0如果totalgas小于totalcost则表示不能跑一圈,返回-1;
用currentgas表示当前的油量,startindex表示开始的加油站下标。
遍历两个数组,记录获得油量和消耗的油量,currentgas+=gas[i]-cost[i]表示当前的油量如果currentgas<0说明从 startindex 到当前加油站无法到达下一个加油站,因此将 startindex 更新为当前加油站的下一个索引,并重置 currentgas 为 0。
返回结果,如果满足totalgas<totalcost,则返回startindex的值,否则返回-1;
代码12345678910111213141516171819class Solution {public: int canCompleteCircuit(vector<int>& gas, vector<int>&a ...
Curl用法指南
简介curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
它的功能非常强大,命令行参数多达几十种。
curl的基本用法发送 GET 请求最简单的用法是向指定的 URL 发送 GET 请求,并在控制台输出返回的内容。
1curl https://www.example.com
运行上述命令后,curl 会输出 https://www.example.com 的 HTML 页面内容。默认情况下,curl 发送一个 HTTP GET 请求,并输出服务器的响应结果到终端。
123456789101112<!doctype html><html><head> <title>Example Domain</title></head><body> <div> <h1>Example Domain</h1> <p>This domain is for use in ill ...
常用 Git 命令清单
一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。
新建代码库12345678# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]
配置Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
123456789# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]"
增加/删除文件123456789101112131415161718192021# 添加指定文件到暂存区$ git add [f ...
Hexo博客与主题配置文件备份与恢复
前言hexo d上传部署到github的其实是hexo编译后的文件,是用来生成网页的,不包含源文件,也不包含主题配置文件。也就是上传的是在本地目录里自动生成的.deploy_git里面。
其他文件 ,包括我们写在source 里面的文章,和配置文件,主题文件,都没有上传到github。本篇文章就是为解决hexo备份无法包含主题配置文件的问题
备份博客创建新的仓库重新创建一个仓库来专门存放所有的配置文件创建一个仓库,勾选README
获取.git文件夹原始的博客文件夹只有.deploy_git,是没有.git文件夹的,于是我们先去桌面或者哪里随便一个地方,把刚刚的hexo分支给clone下来。然后剪切出里面的.git文件夹,复制到现在的博客文件夹中。
1git clone https://github.com/dida303/hexo-backup.git
需要把主题文件中的.git文件删掉,因为git不能嵌套上传。
备份到远程仓库通过如下命令将本地文件备份到远程仓库
123git add .git commit -m "backup"git push
经常备份12 ...
Cloudflare 15年SSL证书及宝塔面板配置SSL证书
前言搭建网站的SSL证书一般都是使用Let's Encrypt的免费证书,需要每3个月续期,比较麻烦。如果网站使用了Cloudflare的代理(即开启小云朵)则推荐使用Cloudflare的15年证书。
申请15年SSL证书CF后台->SSL->源服务器->创建证书
保存好私钥的数据,此页面后无法再次查看!
宝塔面板配置证书宝塔后台——找到对应的网站——点击设置——SSL地方选择“其他证书”,复制对应的密钥进来就可以了。
按照下图的格式放,Private Key和BEGIN CERTIFICATE分别放对应位置。
Cloudflare SSL配置CF的默认配置为灵活,需要配置为完全或完全(严格),如果不重新配置,你将会得到一个重定向次数过多的打不开网站。
总结优点是15年,不需要自己为证书牵挂,缺点就是要依赖小云朵的CDN。
Cloudflare R2图床搭建
准备Cloudflare账户一个域名启用R2需要绑定一个支付方式,VISA和万事达卡,也可以绑定Paypal国区账户(可以绑定银联卡)。
Cloudflare配置存储桶
创建存储桶名称随便写,位置选亚太地区APAC
绑定域名Cloudflare配置了.dev子域,但是在国内环境下访问不畅,所以需要添加我们的自定义域名在刚才创建的test下链接在Cloudflare解析好的域名设置公开访问,如果不设置,上传图片后,是不能直接在公网访问!现在就能在存储桶中上传图片了
使用 PicGo 上传图片到 R2创建R2 API令牌名称随意,权限选对象读和写,其他默认记录以下数据,访问ID和访问密钥,只出现一次
PicGo配置自动上传图床Picgo地址安装S3插件配置应用密钥 ID填之前创建 API 令牌时获得的访问密钥 ID应用密钥填之前创建 API 令牌时获得的机密访问密钥桶填之前的存储桶的名称文件路径按照个人喜好填写,这里我填的是{fileName}.{extName}地区填apac自定义节点填https://<帐户 ID>.r2.cloudflarestorag ...
Butterfly主页一图流背景及文章透明度修改
将butterfly主题修改效果
主题配置修改 Butterfly 的配置文件 _config.butterfly.yml。编辑 index_img、index_top_img_height、background、footer_bg、mask.header 选项。设置网站背景,将主页顶部图和页脚背景改为透明,调整主页顶部图高度,移除顶部图的黑色半透遮罩。background: url(https://example.com/img/background.jpg) 将其修改为自己的地址
1234567891011121314151617181920212223# Image (圖片設置)# --------------------------------------# The banner image of home pageindex_img: transparent# Beautify/Effect (美化/效果)# --------------------------------------# The height of top_img, eg: 300px/300em/300re ...
hexo butterfly添加本地搜索功能
博客根目录安装插件1npm install hexo-generator-search --save
配置插件在根目录_config.yml文件添加如下配置12345search: path: search.xml field: post format: html limit: 10000
在_config.butterfly.yml文件local_search修改为如下配置123456789local_search: enable: true # Preload the search data when the page loads. preload: false # Show top n results per article, show all results by setting to -1 top_n_per_article: 1 # Unescape html strings to the readable one. unescape: false CDN:
应用配置文件本地查看1hexo cl;hexo s
确认无误后推送到远程1hexo cl;h ...