本文介绍: 是一款高性能的(key/values)分布式内存数据库支持数据持久化(定期把内存里数据存储到硬盘)支持多种数据类型:字符、列表、散列、集合支持master-salve模式数据备份。

搭建Redis数据库服务器

相关概念

数据库服务软件分为2类:

  • 关系型数据库服务软件 简称 RDBMS
    按照预先设置的组织结构 将数据存储在物理介质上 数据之间可以做关联操作
  • 非关系型数据库服务软件 简称 NoSQL
    不仅仅是SQL 不需要预先定义数据存储结构 每条记录可以有不同的数据类型和字段个数 只需要 key values
    在这里插入图片描述

Redis介绍

  • 是一款高性能的(key/values)分布式内存数据库
  • 支持数据持久化(定期把内存里数据存储到硬盘)
  • 支持多种数据类型:字符、列表、散列、集合
  • 支持master-salve模式数据备份

安装Redis

在这里插入图片描述
在这里插入图片描述
连接服务存取数据
说明:默认只能在本机连接redis服务 (只能访问自己 )

redis-cli
127.0.0.1:6379 > exit

在这里插入图片描述

Redis服务常用管理命令

在这里插入图片描述
在这里插入图片描述

命令set 、 mset 、 get 、 mget

192.168.4.50:6350> set name bob
OK
192.168.4.50:6350> mset age 19   sex  boy
OK
192.168.4.50:6350> get name
"bob"
192.168.4.50:6350> mget age sex
1) "19"
2) "boy"

命令keys 、 type 、 exists 、 del

192.168.4.50:6350> keys *
1) "sex"
2) "age"
3) "name"
192.168.4.50:6350> keys  ???
1) "sex"
2) "age"
192.168.4.50:6350> type age //使用set命令存储的变量都是字符类型
string
192.168.4.50:6350> del age
(integer) 1
192.168.4.50:6350> exists age //变量不存在返回值0
(integer) 0
192.168.4.50:6350> exists sex  //变量存在 返回值1
(integer) 1

命令ttl 、 expire 、 move 、 flushdb 、flushall 、save、shutdown

192.168.4.50:6350> ttl sex  //返回值-1 表示变量永不过期
(integer) -1
192.168.4.50:6350> expire sex 20 //设置变量过期时间为 20(integer) 1
192.168.4.50:6350> ttl sex  //还剩14秒过期
(integer) 14
192.168.4.50:6350> ttl sex //返回值-2 表示已经过期
(integer) -2
192.168.4.50:6350> exists sex //变量已经不存在
(integer) 0
192.168.4.50:6350> move name 1 //把变量name移动到1号库里
(integer) 1
192.168.4.50:6350> select 1  //切换到1号库
OK
192.168.4.50:6350[1]> keys * //查看
1) "name"
192.168.4.50:6350[1]> select 0 //切换到0号库
OK

配置文件解析

文件里常用配置项说明 通过修改配置项 改变redis服务的运行配置,需要重启redis服务才能生效
注意:修改服务使用的IP地址、端口号、连接密码三项中的任意一项 都无法再使用脚本停止服务
解决办法:使用命令停止服务 或者 修改脚本
在这里插入图片描述
在这里插入图片描述
案例:修改主机host51 Redis服务使用的ip地址192.168.4.51 端口号6351 和连接密码123456

vim /etc/redis/6379.conf
70 bind 192.168.4.51
93 port 6351
501 requirepass 123456
:wq

/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 start
redis-cli -h 192.168.4.51 -p 6351
auth 密码
// 或者 连接时 直接指定密码
redis-cli -h 192.168.4.50 -p 6350 -a 123456 

# 命令停止服务
~ ]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 shutdown

修改脚本 使其也可以使用脚本停止服务(启动脚本是使用shell语法编写)

[root@host50 ~]# vim  +43  /etc/init.d/redis_6379
$CLIEXEC -h 192.168.4.50 -p 6350 -a 123456  shutdown
:wq

LNP + Redis

生产环境下会被网站的热点数据存放在内存存储服务器里,这样的好处是可以加快存取数据的速度,能够实现网站访问加速
通常网站会把频繁被访问的数据、数据小的数据、可再生的数据存储在内存存储的服务器里。

部署网站运行环境LNP环境 统一使用host50做网站服务器

1.安装nginx软件

yum -y install gcc pcre-devel zlib-devel
tar -xf nginx-1.12.2.tar.gz
cd nginx-1.12.2.tar.gz
./configure
make
make install

2.安装php软件
3.修改nginx服务的配置文件实现动静分离
在这里插入图片描述
4.启动服务
5.测试nginx服务能否解释php代码
在这里插入图片描述

配置php支持redis

在网站服务器编写php脚本 可以连接redis服务存储数据和查询数据 默认php不支持redis(也就是连接不支持redis服务)
1.安装软件提供连接redis服务的功能模块 在网站服务器主机做如下配置

]# tar -zxf php-redis-2.2.4.tar.gz //安装扩展包
]# cd phpredis-2.2.4/
]# phpize            //生成配置文件php-config及 configure命令
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
]# ./configure  --with-php-config=/usr/bin/php-config //配置
]# make //编译
]# make install //安装

在这里插入图片描述

2.让php进程在运行时,调用redis模块

systemctl restart php-fpm

3.查看是否支持redis服务

php -m | grep -i redis 
redis

4.测试配置:
在网站服务器编写php脚本 存储数据和查询数据
在这里插入图片描述
在这里插入图片描述

在客户端访问网站服务器php脚本
在这里插入图片描述

在redis服务器本机能够看到数据 为成功

使用内存给网站服务提供存储数据的空间缺点

时间久了,Redis服务器host51会产生哪些问题?
1.存储空间不够用
解决办法:多台服务器一起提供数据储存服务 或 删除内存里已经存储的数据 腾出空间存储新数据
2.单点故障问题
3.数据的备份问题
4.访问多的时候 1台Redis服务处理不过来

Redis服务的内存清除策略

当内存空间不足,删除内存里已经存储的数据的方式
内存清除策略 是软件的开发者写功能程序并定义的名称方便运维调用。根据选择需要 使用哪种内存清除策略即可
在这里插入图片描述
在这里插入图片描述

原文地址:https://blog.csdn.net/shengweiit/article/details/135722756

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_62349.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注