相信的心就是你的魔法

导入第三方库PyMySQL、Redis和pickle(把数据转化为二进制数据的第三方库)

1
2
3
4
import redis
import pymysql
import pickle
import time

与MySQL数据库建立连接,并获取数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def load_test_from_db():
con = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='xxxx'
database='s_test',
charset='utf8'
)


with con.cursor() as cursor:
cursor.execute('select name, age from tb_test')
test = cursor.fetchall()
con.close()
return test

建立Redis连接,并从Redis缓存中获取数据,当缓存中没有数据的时候从MySQL数据库中获取数据并把数据存到缓存中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def main():
client = redis.Redis(
host='服务器公网ip',
port=6379, # redis端口,一般为6379端口
password='服务器连接密码'
)
s_time = time.time
data = client.get('test') # 获取数据
if data:
test = pickle.loads(data)
else:
test = load_test_from_db()
client.set('test',pickle.dumps(test))
e_time = time.time
print(test)
print('执行耗时:',e_time - s_time)

执行代码

1
2
if __name__ == '__main__':
main()

结论:从缓存中读取数据的速度远高于从内存中读取数据的速度,即利用Redis来做数据的储存能达到空间换取时间的目的。

Linux中安装软件的方法

  • 1.包管理工具

-yum CentOS
~yum search nginx # 在库中查询是否有nginx的包
~yum install nginx # 安装nginx
~yum erase nginx/yum remove nginx # 卸载nginx
~yum info nginx # 查看安装的nginx的信息
~yum list installed|grep nginx 查看已经安装的和nginx相关的软件

-rpm Redhat
~rpm -ivh 下载的rpm包文件名 # 安装软件并监察安装进度
~rpm -e rpm包名 # 卸载安装的rpm包
~rpm -qa # 列出所有的被安装的rpm包

-apt Ubantu

  • 2.源代码构建安装

eg:安装Redis官方最新版为例

~wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.24.1.tar.xz # 下载Redis包,以压缩方式xz的包为例
~xz -d git-2.24.1.tar.xz # 解压缩
~tar -xf git-2.24.1.tar # 解归档
~cd git-2.24.1 # 进入解归档后的安装文件目录
~yum install -y curl libcurl-devel # 执行安装命令
~./configure –prefix=/usr/local # 指定安装路径
~make && make install # 安装