文章851
标签121
分类10

什么是缓存雪崩、击穿、穿透?

用户的数据一般都是存储于数据库,数据库的数据是落在磁盘上的,磁盘的读写速度可以说是计算机里最慢的硬件了。

当用户的请求,都访问数据库的话,请求数量一上来,数据库很容易就奔溃的了,所以为了避免用户直接访问数据库,会用 Redis 作为缓存层。

因为 Redis 是内存数据库,我们可以将数据库的数据缓存在 Redis 里,相当于数据缓存在内存,内存的读写速度比硬盘快好几个数量级,这样大大提高了系统性能。

Xnip2024-04-24_11-18-26.png

Crypt 加密密码

crypt是个密码加密函数,它是基于Data Encryption Standard(DES)演算法。 crypt只适用于密码的使用,不适合用于资料加密。 crypt()将参数key所指的字符串加以加密,key字符串长度仅取前8个字符,超过此长度的字符没有意义

1、我们可以用mkpasswd命令:这个命令就是用来生成crypt格式的密码的:

mkpasswd

输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串。

2、如果用Apache Web服务器,那么也可以用htpasswd

htpasswd -nd user

这个命令会输出一个user:password格式的字符串,直接把password字段复制下来

3、openssl命令:

openssl passwd -crypt myPassword

4、Perl

perl -e "print crypt('password','salt');"

Perl需要一个加密盐,salt

5、Ruby

ruby -e 'print "password".crypt("salt");'

6、PHP

php -r "echo crypt('password','salt');"

需要注意的是,如果不使用加密盐(如上面命令中的salt),那么输出的字符串将不是crypt加密格式,而是MD5加密格式的, 加密盐其实是必须的参数。

7、Python

python -c 'import crypt; print crypt.crypt("password","salt")'

Python 安装 cv2

$ curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
$ python get-pip.py 
$ sudo yum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=false
$ sudo yum install libXext-1.3.3-3.el7.x86_64 --setopt=protected_multilib=false
$ sudo yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false
$ pip2 install opencv-python==4.1.1.26
$ pip install requests
$ pip install Pillow

检测 安装 cv2 是否成功

[root@xxx xxx]# python
Python 2.7.5 (default, Nov 16 2020, 22:23:17) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 
">