redis 数据库基于lamp架构
部署环境
# 部署redis 环境 [root@redis-master ~]# mkdir -p /data/application ---创建工作目录 [root@redis-master ~]# wget http://download.redis.io/releases/redis-4.0.9.tar.gz ---下载redis [root@redis-master ~]# tar xzf redis-4.0.9.tar.gz -C /data/application/ ---解压 [root@redis-master ~]# cd /data/application/ [root@redis-master application]# mv redis-4.0.9/ redis [root@redis-master application]# cd redis/ [root@redis-master redis]# yum install -y gcc make #安装编译工具 [root@redis-master redis]# make 注:如果报错请将刚才解压的安装包删除掉,再次重新解压并进行make安装即可。 [root@redis-master redis]# cp redis.conf redis.conf.bak [root@redis-master redis]# vim redis.conf ---修改如下 bind 192.168.246.202 #只监听内网IP daemonize yes #开启后台模式将on改为yes timeout 300 #连接超时时间 port 6379 #端口号 dir /data/application/redis/data #本地数据库存放持久化数据的目录该目录-----需要存在 pidfile /var/run/redis_6379.pid #定义pid文件 logfile /var/log/redis.log #定义log文件 创建存放数据的目录 [root@redis-master redis]# mkdir /data/application/redis/data 配置redis为systemctl启动 [root@redis-master redis]# cd /lib/systemd/system [root@redis-master system]# vim redis.service [Unit] Description=Redis After=network.target
[Service] ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf --daemonize no ExecStop=/data/application/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown
[Install] WantedBy=multi-user.target
参数详解: • [Unit] 表示这是基础信息 • Description 是描述 • After 是在那个服务后面启动,一般是网络服务启动后启动
• [Service] 表示这里是服务信息 • ExecStart 是启动服务的命令 • ExecStop 是停止服务的指令
• [Install] 表示这是是安装相关信息 • WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。 启动服务: [root@redis-master system]# systemctl daemon-reload [root@redis-master system]# systemctl start redis.service
|
查看端口

# 部署mariadb [root@redis-master ~]# yum install -y mariadb mariadb-server mariadb-devel [root@redis-master ~]# systemctl start mariadb [root@redis-master ~]# mysqladmin -uroot password 123456 # https://blog.csdn.net/NewRain_wang/article/details/103541196 # 部署apache [root@redis-master ~]# yum install -y httpd [root@redis-master ~]# vim /etc/httpd/conf/httpd.conf DirectoryIndex index.html index.php # 部署php [root@redis-master ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm [root@redis-master ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm [root@redis-master ~]# yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64 php70w-devel zlib-devel php70w-fpm php70w-pecl-redis -y [root@redis-master ~]# vim /etc/php.ini 878 date.timezone =Asia/Shanghai [root@redis-master ~]# systemctl start php-fpm
|
测试代码
[root@redis-master ~]# vim /var/www/html/index.php <?php $redishost = '127.0.0.1'; $redisport = 6379; $redis = new Redis; $redis->connect($redishost,$redisport) or die ("Could not connect"); #$query="select emp_no,salary from salaries where emp_no = 10001"; $query="select id,name from tt1"; $key=md5($query); if(!$redis->get($key)) { $conn=mysqli_connect("localhost","root","123456","t1"); $result=mysqli_query($conn,$query); while ($row=mysqli_fetch_assoc($result)) { $arr[]=$row; } $f = 'mysql'; $redis->set($key,serialize($arr)); $data = $arr ; } else{ $f = 'redis'; $data_mem=$redis->get($key); $data = unserialize($data_mem); } echo $f; echo "<br>"; echo "$key"; echo "<br>"; //print_r($data); foreach($data as $a) { echo "key is <b><font color=#FF0000>$a[id]</font></b>"; echo "<br>"; echo "value is <b><font color=#FF0000>$a[name]</font></b>"; echo "<br>"; } ?>
|
浏览器访问

ps redis mysql 数据库一致性问题
https://yq.aliyun.com/articles/712285