2018年6月14日星期四

缓存穿透、缓存击穿、缓存雪崩解决方案

https://blog.csdn.net/zeb_perfect/article/details/54135506
https://www.cnblogs.com/rjzheng/p/8908073.html

其中有提到布隆过滤器(bloom filter),可以利用 bloom filter 过滤掉绝大多数数据库中不存在的 key,避免数据库被大流量访问不存在的 key。

sqlalchemy 设置 mysql 表的默认字符集

在类中设置 __table_args__ 即可,见下面的代码示例:

from sqlalchemy import Column, Integer, String
class User(BaseModel):
__tablename__='users'
__table_args__={
"mysql_engine":"InnoDB",   # 表的引擎
"mysql_charset":"utf8mb4"   # 表的编码格式
}
id=Column("id",Integer,primary_key=True,autoincrement=True)
name=Column("name",String(50),nullable=False)
age=Column("age",Integer,default=0)

2018年6月8日星期五

root用户解压的注意问题

压缩包中会保留被压缩文件的用户id和组id,如果非root用户解压的话,解压出来的文件权限是当前的解压用户。但如果是root用户解压的话,默认会保留压缩时候文件的用户id和组id,所以解压出来的文件很有可能就不是root权限了。