04 2022 档案

摘要:15. redis开发规范 key设计 三大建议 可读性和可管理型:以业务名或数据库名为前缀(防止key冲突),用冒号分割,比如业务名:表名:id, 简洁性:保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视, 不要包含特殊字符:反例:包含空格、换行、单双引号、以及其它转移字符 阅读全文
posted @ 2022-04-30 11:55 专职 阅读(44) 评论(0) 推荐(0) 编辑
摘要:说明: 很多系统都是将密码进行一次 MD5 或 SHA1 Hash后存入数据库中。这样的密码抵挡不住字典攻击。所谓字典攻击, 就是将常用密码进行Hash后做成一个字典,破解的时候,只需要查字典就能知道对应的明文密码。 为了抵御字典攻击,推荐的做法是使用 密码 + 盐(一串随机数) 再Hash的方式。 阅读全文
posted @ 2022-04-29 10:44 专职 阅读(861) 评论(0) 推荐(0) 编辑
摘要:websocket详解 websocket概念 当服务器完成协议升级后,由http转换为websocket,服务端就可以主动推送消息给客户端啦,解决了Http同步有延迟的问题 解决服务端资源消耗问题,其实我们的所有应用程序都要经过两层代理,即http协议在Nginx等服务器的解析下,传递给应用服务区 阅读全文
posted @ 2022-04-27 17:33 专职 阅读(345) 评论(0) 推荐(0) 编辑
摘要:缓存设计与优化 讲解将缓存加入应用架构后带来的一些问题,这些问题常常会成为应用的致命点 缓存的收益与成本 收益:加速读写、降低后端负载,前端缓存降低后端服务器的负载,业务端使用redis降低后端mysql负载 成本 数据不一致:缓存层和数据层有时间窗口不一致,跟更新策略有关 代码维护成本:多了一层缓 阅读全文
posted @ 2022-04-26 22:30 专职 阅读(52) 评论(0) 推荐(0) 编辑
摘要:从 Windows 10 开始,Windows 开始自带 OpenSSH 工具 Windows SSH 配置目录,%USERPROFILE%.ssh\ 配置 OpenSSH 使用私钥登录 的配置 修改 %USERPROFILE%.ssh\config 文件 添加配置,格式如下 host p1 use 阅读全文
posted @ 2022-04-24 22:40 专职 阅读(571) 评论(0) 推荐(0) 编辑
摘要:终端输入下面命令:-c20 中的20表示密码的长度 PASSWORD=$(base64 < /dev/urandom | head -c20); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-' 输出结果第一行是明文 第二行是 阅读全文
posted @ 2022-04-24 20:26 专职 阅读(597) 评论(0) 推荐(0) 编辑
摘要:https讲解 https是基于http和SSL/TLS实现的一个协议,他可以保证在网络上传输的数据都是加密的,从而保证数据安全。 接下来我们从http协议开始,提出想法并逐步进行分析,最终实现Https。 http协议是不安全的,所以有了https http(hypertext transfer 阅读全文
posted @ 2022-04-24 14:47 专职 阅读(658) 评论(0) 推荐(0) 编辑
摘要:本章针对redis cluster的集群伸缩、请求路由、故障转移等方面进行分析说明 集群伸缩原理 集群伸缩 = 槽和数据在节点之间的移动 扩容集群 准备新节点 集群模式、配置和其它节点统一、启动后是孤儿节点 redis-server redis-8006.conf redis-server redi 阅读全文
posted @ 2022-04-23 15:08 专职 阅读(82) 评论(0) 推荐(0) 编辑
摘要:es查看总条数 GET /user_info/_count 统计总存储空间占用 GET /_cat/shards?v 阅读全文
posted @ 2022-04-22 18:46 专职 阅读(32) 评论(0) 推荐(0) 编辑
摘要:import time import elasticsearch.helpers from faker import Faker from elasticsearch import Elasticsearch f = Faker(locale='zh_CN') es = Elasticsearch( 阅读全文
posted @ 2022-04-22 18:22 专职 阅读(104) 评论(0) 推荐(0) 编辑
摘要:索引管理 我们看到es让开发一个新的应用变得简单,不需要任何预先计划和设置,不过要不了多久 你就会开始想要优化索引和搜索过程,以便更好的适合您的特定用例,这些定制围绕着索引和类型的方方面面 本章介绍管理索引和类型映射的API以及一些重要的设置 创建一个索引 简单创建一个索引 PUT /test01 阅读全文
posted @ 2022-04-22 16:28 专职 阅读(142) 评论(0) 推荐(0) 编辑
摘要:from urllib import parse import requests 获取access_token appid = "wxa77a00333cd8d99a" secret = "6f61xxxxxxxxxx" get_access_token_url = f"https://api.we 阅读全文
posted @ 2022-04-22 09:50 专职 阅读(1559) 评论(0) 推荐(0) 编辑
摘要:排序与相关性简介 默认情况下,返回的结果是按照相关性进行排序的,最相关的文档在最前面, 后面会解析相关性意味着什么以及如何计算,先来看看sort参数以及如何使用它 排序 为了按照相关性进行排序,需要将相关性设置为一个数值,es中相关性是由一个浮点数表示, 并在搜索结果树中通过_score返回,默认排 阅读全文
posted @ 2022-04-20 18:31 专职 阅读(631) 评论(0) 推荐(0) 编辑
摘要:空查询 空查询将会返回所有索引库(indices)中的所有文档: GET /_search 只用一个查询字符串你就可以在一个或者多个索引库中进行查询 GET /test,drivers/_search 同时可以使用from和size参数来分页 GET /_search { "from": 1, "s 阅读全文
posted @ 2022-04-20 15:10 专职 阅读(263) 评论(0) 推荐(0) 编辑
摘要:elasticsearch-映射和分析 映射和分析 查看索引映射分析 /gb/_mapping 全文搜索和精确字段搜索 /gb/_search?q=2014-09-15 /gb/_search?q=date:2014-09-15 精确字段搜索和全文搜索是搜索引擎和其它数据库的本质区别 精确值VS全文 阅读全文
posted @ 2022-04-19 11:46 专职 阅读(59) 评论(0) 推荐(0) 编辑
摘要:IK中文分词器的安装 es中文分词器IK的使用 添加一个索引库 PUT /test 利用该索引库进行分词测试 GET /test/_analyze { "analyzer": "ik_smart", "text": "我爱你中国" } 分词结果 { "tokens": [ { "token": "我 阅读全文
posted @ 2022-04-18 20:57 专职 阅读(266) 评论(0) 推荐(0) 编辑
摘要:redis cluster是redis3.0提供的分布式解决方案,有效的解决了redis分布式方面的需求,同时它也是学习分布式存储的绝佳案例。 学习redis cluster是大家学习分布式数据库的一个很好的案例 我们为什么需要redis cluster集群这样的功能? 并发量:redis单机默认支 阅读全文
posted @ 2022-04-17 21:17 专职 阅读(169) 评论(0) 推荐(0) 编辑
摘要:redis复制的原理与优化 复制是实现高可用的基石,但复制同样是运维的痛点,我们来分析复制的原理与运维过程中可能遇到的问题 什么是主从复制 单机有什么问题呢:机器故障、容量瓶颈、QPS瓶颈 机器故障是高可用问题,容量瓶颈和QPS瓶颈是分布式问题 主从复制的作用:数据副本、读写分离 小结:一个mast 阅读全文
posted @ 2022-04-16 18:47 专职 阅读(70) 评论(0) 推荐(0) 编辑
摘要:main.py文件 from faker import Faker import time from clickhouse_driver import Client f = Faker(locale='zh_CN') start_time = time.time() def re_list(star 阅读全文
posted @ 2022-04-15 15:26 专职 阅读(97) 评论(0) 推荐(0) 编辑
摘要:拉取镜像 docker pull clickhouse/clickhouse-server 创建并运行容器 sudo docker run --name clickhouse-server --ulimit nofile=262144:262144 --volume=$HOME/clickhouse 阅读全文
posted @ 2022-04-14 11:27 专职 阅读(364) 评论(0) 推荐(0) 编辑
摘要:先插入5条数据 { "_index": "students", "_id": "1", "_score": 1.6013623, "_source": { "name": "王阳明", "age": 28, "description": "哈哈哈 你好啊" } }, { "_index": "stu 阅读全文
posted @ 2022-04-13 14:23 专职 阅读(83) 评论(0) 推荐(0) 编辑
摘要:搜索-最基本的工具 现在我们已经学会了如何使用es作为一个Nosql风格的分布式文件存储系统, es的真正强大之处在于可以从无规律的数据中找出有意义的信息,从大数据到大信息 es不只会存储文档,为了能被搜索到也会为文档添加索引,这也是为什么我们使用结构化的json文档 而不是无结构的二进制数据 文档 阅读全文
posted @ 2022-04-13 11:38 专职 阅读(99) 评论(0) 推荐(0) 编辑
摘要:redis持久化的取舍和选择 什么是持久化 redis所有数据保存在内存当中,对数据的更新将异步保存到磁盘上 持久化方式 快照 redis RDB(mysql dump) 写日志 redis AOF (mysql binlog)(hbase hlog) RDB 触发机制-三种方式 save同步,会造 阅读全文
posted @ 2022-04-12 21:43 专职 阅读(33) 评论(0) 推荐(0) 编辑
摘要:数据的输入和输出 es是分布式的文档存储,它能够存储和检索复杂的数据结构序列化成json文档 一旦一个文档被存储到es中,他就可以被集群中任意节点检索到 在es中,每个字段的所有数据默认都是被索引的,即每个字段都有为了快速检索而设置的专用倒排索引, 他不像其它多数数据库,他能在同一个查询中使用所有这 阅读全文
posted @ 2022-04-12 16:15 专职 阅读(57) 评论(0) 推荐(0) 编辑
摘要:04-瑞士军刀redis其它功能 慢查询 生命周期、两个配置、三个命令、运维经验 生命周期两点说明: 慢查询发生在第三阶段(执行命令); 客户端超时不一定是慢查询,但是慢查询是客户端超时的一个可能因素 两个配置: slowlog-max-len: 先进先出队列、固定长度、保存在内存内 slowlog 阅读全文
posted @ 2022-04-11 20:32 专职 阅读(36) 评论(0) 推荐(0) 编辑
摘要:使用docker启动单节点集群 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.1.2 docker network create elastic docker run --name es01 --net elastic -p 阅读全文
posted @ 2022-04-11 15:08 专职 阅读(107) 评论(0) 推荐(0) 编辑
摘要:发布者 import redis pool = redis.ConnectionPool(host="xxxxx", port=6382, db=0, password="xxxxx") r = redis.Redis(connection_pool=pool) r.publish("my-firs 阅读全文
posted @ 2022-04-10 20:31 专职 阅读(294) 评论(0) 推荐(0) 编辑
摘要:安装 pip install redis import redis pool = redis.ConnectionPool(host="xxxxxx", port=6382, db=0, password="xxxxxx", encoding="utf-8") r = redis.Redis(con 阅读全文
posted @ 2022-04-10 15:54 专职 阅读(23) 评论(0) 推荐(0) 编辑
摘要:01-redis初识 redis8大特性 速度快、持久化、多种数据结构、支持多种编程语言、功能丰富、简单、主从复制、高可用/分布式 计算机组成原理 从上到下依次是:寄存器、一级缓存、二级缓存、内存、本地硬盘、远程硬盘 速度是越来越慢的 redis多种数据结构 string、hash、list、set 阅读全文
posted @ 2022-04-10 12:51 专职 阅读(165) 评论(0) 推荐(0) 编辑
摘要:mysql8.0有什么新特性 窗口函数(window functions) 以某个列为分隔,分为多个窗口 在窗口内执行特定函数 select *,rank() over (partition by customer_id ORDER BY amount desc) as ranking from p 阅读全文
posted @ 2022-04-09 09:37 专职 阅读(360) 评论(0) 推荐(0) 编辑
摘要:切换,保业务还是保数据 如何进行身份切换 停止备库同步 配置主库复制从库 可靠性优先策略 检查B库的seconds_behind_master,不能过大 A库只读readonly = true 检查B库的seconds_behind_master = 0 B库关只读,readonly = false 阅读全文
posted @ 2022-04-06 22:23 专职 阅读(134) 评论(0) 推荐(0) 编辑
摘要:下载 go get github.com/apache/rocketmq-client-go/v2 代码 func main() { // 1. 创建主题 //CreateTopic("test-04", 10909) // 2. 生产者向主题中发送消息 //SendSyncMessage("hel 阅读全文
posted @ 2022-04-06 13:47 专职 阅读(576) 评论(0) 推荐(0) 编辑
摘要:本章学习MySQL的可拓展性(容量和性能的拓展),首先介绍分区表的原理、特点和注意事项。然后学习分库分表的原理,重点学习MyCat的升级版:dble的安装与使用。让大家对MySQL分库分表的分类、目的、手段等有清晰的认识。 怎样最简单的扩展容量 什么是分区表 将InnoDB的一个表分为多个表 ser 阅读全文
posted @ 2022-04-05 16:21 专职 阅读(429) 评论(0) 推荐(0) 编辑
摘要:1. 三高架构之路 什么是三高 高并发:同一时刻能处理的事务数高 高性能:事务/sql执行速度高 高可用:系统可用时间高 如何达到三高 复制 扩展 切换 2. 复制有哪些类型 复制的基本原理 主从复制用四个字概括就是:binlog 传送 复制的类型: 异步复制 异步复制原理简单,网络延迟较小,不能保 阅读全文
posted @ 2022-04-04 16:52 专职 阅读(415) 评论(0) 推荐(0) 编辑
摘要:主从复制配置实战 /etc/mysql/my.cnf 主库 log-bin=/var/lib/mysql/mysql-bin server-id=123454 /etc/mysql/my.cnf 从库 log-bin=/var/lib/mysql/mysql-bin server-id=111111 阅读全文
posted @ 2022-04-04 09:40 专职 阅读(214) 评论(0) 推荐(0) 编辑
摘要:orm框架原理 什么是orm框架 总结: orm框架的作用是程序对象与关系型数据库之间的映射 orm框架可以大大降低程序员的代码开发工作量 orm框架可以使得代码更安全,更易维护 orm框架是如何设计的 经典软件架构 分层架构 事件驱动架构 管道过滤器架构 微核架构 orm框架架构层次 接口层:向上 阅读全文
posted @ 2022-04-03 15:00 专职 阅读(362) 评论(0) 推荐(0) 编辑
摘要:如何保证消息不丢失 我们看到,一共三个阶段,生产消息,存储消息,消费消息,从三个阶段看消息如何不被丢失 生产消息 生产者发送消息至broker,需要处理broker的响应,无论是同步发送还是异步发送消息, 同步和异步都需要做好try catch,妥善的处理响应,如果broker返回写入失败等错误消息 阅读全文
posted @ 2022-04-02 14:49 专职 阅读(25) 评论(0) 推荐(0) 编辑
摘要:主要用于分布式场景下,服务之间做异步通信的时候来使用,比如商城系统中 商品上架的时候需要更新ES索引库的索引数据的,这时候商品微服务就需要异步通知搜索微服务更新索引数据 消息队列应用场景 异步处理、服务解耦、流量控制 消息队列有两种模型:队列模型、发布/订阅模型 小结:队列模型每条消息只能被一个消费 阅读全文
posted @ 2022-04-02 11:37 专职 阅读(102) 评论(0) 推荐(0) 编辑
摘要:哨兵、复制、事务、集群、持久化 redis主要有哪些功能 哨兵和复制(sentinel and replication): sentinel可以管理多个redis服务器,它提供监控、提醒、故障转移等功能 replication则是可以让一个redis服务器拥有一个或多个配备服务器 redis也是利用 阅读全文
posted @ 2022-04-01 18:17 专职 阅读(220) 评论(0) 推荐(0) 编辑
摘要:redis常用命令 keys 键命令 keys 查询所有key type 查找key的类型 del 删除一个key expire 给key设置过期时间 ttl 查询key还有多长时间过期 exists 查询key是否存在 string 字符串命令 set 设置一个字符串 setex 设置一个带过期时 阅读全文
posted @ 2022-04-01 18:16 专职 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示