
后端
文章平均质量分 56
qianlin999
这个作者很懒,什么都没留下…
展开
-
Redis 高可用原理及部署方法
一、Redis 的高可用原理其实 Memcached 在性能上要稍微比 Redis 好,但在易用性和可用性上,Redis 要大大超过Memcached 。先说易用性。Redis 有五种数据类型:list 、set 、string 、hash 、zset。这表示在使用 Redis 存储数据的时候将会更灵活,能节省很多开发成本。而 Memcached 支持的数据类型比较简单,只有 string,无法满足复杂业务场景的需求。另外,Redis 还支持原子操作和事务,可以确保操作数据时的准确性,使用非常简单。.原创 2021-12-01 14:38:50 · 1028 阅读 · 0 评论 -
限流的基本原理及算法实现
一、限流的基本原理它的目的是确保系统高效、稳定地运行,确保请求能够快速处理的同时,保障系统不被流量压垮。限流通常是利用某种算法实现限流器,来达到限制流量的目的。通常,限流器中会有一个定时器,它主要用来定时更新与条件有关的资源。还有,每次请求也需要更新该资源。如果抽象成 Go 中的 interface 话,示例代码如下:type Limiter interface{ Take() bool Start()}其中 Take 方法用于每次请求时调用,判断该请求是否可以继续进行而不触发限流。St原创 2021-12-01 13:50:02 · 2842 阅读 · 1 评论 -
python 优化 面试
1. 避免全局变量许多程序员刚开始会用 Python 语言写一些简单的脚本,当编写脚本时,通常习惯了直接将其写为全局变量,例如上面的代码。但是,由于全局变量和局部变量实现方式不同,定义在全局范围内的代码运行速度会比定义在函数中的慢不少。通过将脚本语句放入到函数中,通常可带来 15% - 30% 的速度提升。import mathdef main(): # 定义到函数中,以减少全部变量使用 size = 10000 for x in range(size): for原创 2021-10-15 09:51:20 · 175 阅读 · 0 评论 -
JAVA 要点 优化 面试要点
1、MyBatis 不要为了多个查询条件而写 1 = 1当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失,因为添加了 “where 1=1 ”的过滤条件之后,数据库系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(即全表扫描) 以比较此行是否满足过滤条件,当表中的数据量较大时查询速度会非常慢;此外,还会存在SQL 注入的风险。<select id="queryBookInfo" parameterType="com.原创 2021-10-15 09:41:16 · 108 阅读 · 0 评论 -
python实现Excel文件数据写入
import xlsxwriter#todo 创建excel文件xl = xlsxwriter.Workbook('/Users/edz/Desktop/test.xlsx')#todo 添加sheetsheet = xl.add_worksheet('sheet1')#todo 往单元格cell添加数据,索引写入sheet.write_string(0, 1, 'username1')#todo 位置写入sheet.write_string('B1', 'password')#原创 2021-04-23 08:32:11 · 171 阅读 · 0 评论 -
centos8 操作clickhouse
1、启动sudo clickhouse start2、查看状态systemctl status clickhouse-server.service3、启动客户端clickhouse-client -h 127.0.0.1 -d default -m -u default --password password 4、clickhouse从csv文件导入数据1、导入的CSV文件没有字段名称时:cat csv文件路径 | clickhouse-client --query="INSERT I原创 2021-04-09 11:49:36 · 342 阅读 · 0 评论 -
svn使用
1.安装svn:brew install svn2.Svn下载项目:svn checkout url3.svn状态查看:svn status4.svn添加:svn add ‘项目文件夹’5.svn提交:svn commit -m '备注'6.svn至远程服务器:svn update7.更新远端代码:svn update8.撤消上次的add:svn revert -R(文件夹时添加) 文件/文件夹9.删除svn管理的文件:svn del 文件10.撤销sv原创 2021-01-29 18:45:42 · 236 阅读 · 0 评论 -
mybatis
1.SqlMapConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <typeAliases> <pac.原创 2020-09-25 23:08:13 · 150 阅读 · 0 评论 -
hibernate
hibernate.cfg.xml<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configura原创 2020-09-24 23:52:13 · 3918 阅读 · 0 评论 -
mysql详解
由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下:SQL 的书写规范SQL 的一些进阶使用技巧SQL 的优化方法SQL 的书写规范在介绍一些技巧之前,有必要强调一下规范,这一点我发现工作中经常被人忽略,其实遵循好的规范可读性会好很多,应该遵循哪些规范呢**1、 表名要有意义,且标准 SQL 中规定表名的第一个字符应该是字母。2、注释,有单行注释和多行注释,如下– 单行注原创 2020-05-16 15:12:31 · 197 阅读 · 0 评论 -
通过uwsgi,nginx 实现django部署,超详细。。。
1、 django配置文件修改debug=FalseALLOWED_HOSTS = ['*']#静态文件收集地址STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'wx/static')#修改好配置执行,收集静态文件python manage.py collectstatic2、nginx,uwsgi安装及配置1、安装s...原创 2020-04-25 09:20:30 · 358 阅读 · 0 评论 -
rabbitmq安装
1、安装sudo apt-get install erlangsudo apt-get install rabbitmq-server2、运行查看运行状态service rabbitmq-server status运行service rabbitmq-server start/stop/restart启用管控台sudo rabbitmq-plugins enable rab...原创 2020-04-25 08:42:57 · 204 阅读 · 0 评论 -
dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem
1、sudo apt-get update2、sudo dpkg --configure -a 之后就正常了原创 2020-03-03 16:51:46 · 490 阅读 · 1 评论 -
镜像源
在安装python库,在网络不好的情况会遇到raise ReadTimeoutError(self._pool, None, 'Read timed out.')ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.解决办法1:延长timeout时间ra...原创 2020-08-07 09:45:52 · 400 阅读 · 0 评论 -
django
1、admin自定义展示字段@admin.register(Products)class ProductsAdmin(admin.ModelAdmin): list_display = ('product_name','get_tname') def get_tname(self, obj): return '%s' % obj.user.compan...原创 2020-01-16 14:15:20 · 109 阅读 · 0 评论 -
Windows 安装redis
一、获取安装包安装包地址:https://github.com/microsoftarchive/redis二、安装msi是可执行文件,按安装步骤安装即可。zip直接解压就可以了。三、运行redis有两种方式运行,一种是以windows服务的方式运行,另一种是不以服务的方式运行(CMD启动),后者在CMD中运行,当关闭CMD窗口,则redis服务就关闭。在redis目录中有redis...原创 2020-01-11 23:51:30 · 174 阅读 · 0 评论 -
工厂设计模式
1、工厂设计模式优点=1.1、松耦合,即对象的创建可以独立于类的实现。=1.2、客户端无需了解创建对象的类,但是照样可以使用它出港件对象。它只需要知道需要传递的接口、方法、参数,就能够创建所需的对象了。这样简化了客户端的实现==1.3、可以轻松地在工厂中添加其他的类来创建其他类型的对象,而这无需更改客户端的代码。最简单的情况下,客户端只需要传递一个参数就可以了。1.4、工厂还可以重用现有的...原创 2020-01-16 14:11:10 · 147 阅读 · 0 评论 -
mysql 8.0.13开启远程连接 配置方式
mysql 8.0.13开启远程连接 配置方式1:linux登录mysql[root@localhost mysql]# mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 19Server version...原创 2019-12-23 18:24:09 · 3106 阅读 · 0 评论 -
服务器虚拟环境
1 安装pip并升级sudo apt-get install python3-pippip3 install --upgrade pippip --version #查看版本2 修改默认python和pipsudo ln -s /usr/bin/python3 /usr/bin/pythonsudo ln -s /usr/bin/pip3 /usr/bin/pip3 搭建虚拟环境...原创 2020-08-14 11:01:47 · 1308 阅读 · 0 评论 -
djang cache
缓存(Cache)对于创建一个高性能的网站和提升用户体验来说是非常重要的,然而对我们这种只用得起拼多多的码农而言最重要的是学会如何使用缓存。今天我们就来看看缓存Cache应用场景及工作原理吧,并详细介绍如何在Django中设置Cache并使用它们。什么是缓存Cache缓存是一类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储临时数据,常用介质的是读取速度很快的内存...原创 2019-11-15 13:19:19 · 97 阅读 · 0 评论 -
MYSQL内置函数
字符串函数查看字符的ascii码值ascii(str),str是空串时返回0select ascii('a');查看ascii码值对应的字符char(数字)select char(97);拼接字符串concat(str1,str2…)select concat(12,34,'ab');包含字符个数length(str)select length('abc');截取字符串...原创 2019-09-06 13:06:46 · 123 阅读 · 0 评论 -
搭建虚拟环境
如何搭建虚拟环境?安装虚拟环境的命令 :sudo pip install virtualenvsudo pip install virtualenvwrapper安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:1、创建目录用来存放虚拟环境mkdir$HOME/.virtualenvs2、打开~/.bashrc文件,并添加如下:export WORKO...原创 2019-06-18 17:25:42 · 115 阅读 · 0 评论