Skip to content

Instantly share code, notes, and snippets.

View Linuxpizi's full-sized avatar
🎯
Focusing

linuxpizi Linuxpizi

🎯
Focusing
View GitHub Profile
package main
import (
"testing"
"github.com/btcsuite/btcd/btcec"
"github.com/btcsuite/btcd/chaincfg"
"github.com/btcsuite/btcd/chaincfg/chainhash"
"github.com/btcsuite/btcd/txscript"
"github.com/btcsuite/btcd/wire"
@Linuxpizi
Linuxpizi / ssh 禁止密码登录.md
Created November 24, 2020 09:37
ssh 禁止密码登录
sed -i "s/^PasswordAuthentication.*/PasswordAuthentication no/g" /etc/ssh/sshd_config
sed -i "s/^#RSAAuthentication.*/RSAAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#PubkeyAuthentication.*/PubkeyAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#AuthorizedKeysFile.*/AuthorizedKeysFile .ssh\/authorized_keys/g" /etc/ssh/sshd_config
@Linuxpizi
Linuxpizi / 数据库高并发操作.md
Created August 8, 2020 11:55
数据库高并发操作

数据库高并发热点数据更新

想要数据库的性能足够高,巧妙的设计很重要,事务的操作范围要足够的小。

在大并发的情况下跨网络多次交互,就不可避免的由于网络的延迟、丢包等原因导致事务的执行时间变长,出现雪崩的概率就会大大增加。

大并发数据库的操作原则就是事务操作尽量少跨网络交互,一旦跨网络使用事务尽量使用乐观锁来解决,少用悲观锁,尽量缩短当前 session 持有锁的时间。

下面为自己的思考,减少数据库锁的范围和时间

@Linuxpizi
Linuxpizi / OOM参数调整.md
Last active July 31, 2020 08:34
OOM参数调整

OOM参数调整

  1. vm.overcommit_memory

在 Linux 中,可以通过内核参数vm.overcommit_memory去控制是否允许 overcommit:

  • 默认值是 0,在这种情况下,只允许轻微的 overcommit,而比较明显的 overcommit 将不被允许。
  • 如果设置为 1,表示总是允许 overcommit。
  • 如果设置为 2,则表示总是禁止 overcommit。
@Linuxpizi
Linuxpizi / MySQL 函数.md
Created July 13, 2020 02:32
MySQL 函数
DROP PROCEDURE IF EXISTS t_redis_rename_table;
DELIMITER //
CREATE PROCEDURE t_redis_rename_table() 
BEGIN
    IF NOT EXISTS (SELECT NULL FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'apiserver' AND table_name='t_redis_v1') THEN
        ALTER TABLE `apiserver`.`t_redis` RENAME `apiserver`.`t_redis_v1`;
    END IF;
END //
DELIMITER ;
@Linuxpizi
Linuxpizi / mysql修改客户端和服务端字符集.md
Last active July 1, 2020 06:32
mysql修改客户端和服务端字符集
[client]
port            = 3306
socket          = /tmp/mysqld.sock
default-character-set=utf8

[mysqld]
port            = 3306
socket          = /tmp/mysqld.sock
skip-external-locking
@Linuxpizi
Linuxpizi / human file type.md
Created June 28, 2020 10:45
human file type

可阅读的文件大小显示

注:原文地址

/**
 * Converts a long string of bytes into a readable format e.g KB, MB, GB, TB, YB
 * 
 * @param {Int} num The number of bytes.
 */
@Linuxpizi
Linuxpizi / MySQLPump备份.md
Created June 18, 2020 16:00
MySQLPump备份
@Linuxpizi
Linuxpizi / crontab格式.md
Last active June 8, 2020 14:04
crontab格式

crontab格式

*     *     *     *     *        

^     ^     ^     ^     ^
|     |     |     |     |
|     |     |     |     +----- day of week (0-6) (Sunday=0)
|     |     |     +------- month (1-12)
| | +--------- day of month (1-31)