NoSQL基础--Redis配置及LNMP下的Redis搭建

NoSQL ( NoSQL = Not Only SQL )

  • 不仅仅是SQL
  • 泛指非关系型数据库
  • 不需要预先定义数据存储结构
  • 每条记录可以有不同的数据类型和字段个数
  • 主流软件:Memcached Redis MongoDB等
Redis介绍
  • Remote Dictionary Server(远程字典服务器)
  • 是一款高性能的分布式内存数据库
  • 支持数据持久化(定期把内存里数据存储到硬盘)
  • 支持多种数据类型String.list.hash …
  • 支持master-slave模式数据备份
  • 中文网站www.redis.cn
安装软件
]# rpm -q gcc
]# yum -y install gcc
]# tar -zxvf redis-4.0.8.tar.gz
]# cd redis-4.0.8
]# make
]# make install

初始配置
配置服务运行参数

]# ./utils/install_server.sh				//初始化

– 端口 6379
– 主配置文件 /etc/redis/6379.conf
– 日志文件 /var/log/redis_6379.log
– 数据库目录 /var/lib/redis/6379
– 服务启动程序 /usr/local/bin/redis-server
– 命令行连接命令 /usr/local/bin/redis-cli
管理服务

]# /etc/init.d/redis_6379 stop		//停止服务
]# /etc/init.d/redis_6379 start		//启动服务
]# ps -C redis-server					//查看进程
]# ss -nutlp | grep 6379				//查看端口

连接服务
访问redis服务

  • redis-cli 默认连接本机的redis服务
]# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> get name
"tom"
127.0.0.1:6379> exit
常用命令
- set key名 key值				//存储1个key值
- mset key名列表					//存储多个key值
- get key名						//获取key值
- mget 							//获取多个key值
- select  数据库编号0-15			//切换库
- keys * 						//显示所有key名
- keys a?						//显示制定key名
- exists key名					//测试key名是否存在
- ttl key名						//查看key生存时间
- type key名					//查看key类型
- move key名 库编号				//移动key到制定库
- expire key名 数字				//设置key有效时间
- del key名						//删除指定的key
- flushall						//删除内存里所有的key
- flushdb						//删除所在库的所有key
- save							//保存所有key到硬盘
- shutdown						//停止服务

配置文件解析
配置分类

名称 说明
NETWORK 网络
GENERAL 常规
SNAPSHOTTING 快照
REPLICATION 复制
SECURITY 安全
CLIENTS 客户端
MEMORY MANAGEMENT 内存管理

常用配置

  • port 6379 //端口
  • bind 127.0.0.1 //IP地址
  • daemonize yes //守护进程方式运行
  • databases 16 //数据库个数
  • logfile /var/log/redis_6379.log //日志文件
  • maxclients 10000 //并发连接数量
  • dir /var/lib/redis/6379 //数据库目录

内存管理
内存清除策略

  • volatile-lru //最近最少使用(针对设置了ttl的key)
  • allkeys-lru //删除最少使用的key(针对所有的key)
  • allkeys-lfu //从所有key中清除使用频率最少的key
  • volatile-lfu //从所有配置了过期时间的key中清除使用频率最少的key
  • volatile-random //在设置了ttl的key里随机移除
  • allkeys-random //随机移除key
  • volatile-ttl (minor ttl) //移除最近过期的key
  • noeviction //不删除
    优化设置
    maxmemory //最大内存
    maxmemory-policy //定义使用策略
    maxmemory-samples //选取key模板的个数(针对lru和tll策略)
    连接密码

设置密码,ip地址,端口

]# vim /etc/redis/6379.conf
	requirepass 123456
	bind 192.168.4.1
	port 6350
:wq
]# redis-cli -h 192.168.4.1 -p 6350 //连接服务
192.168.4.1:6350> ping
(error)NOAUTH Authentication required
192.168.4.1:6350> auth 123456 //输入密码
OK
192.168.4.1:6350> ping
PONG
]# redis-cli -h 192.168.4.1 -p 6350 -a 123456
]# redis-cli -h 192.168.4.1 -p 6350 -a 123456 shutdown

部署LNMP+Redis

安装源码nginx及php-fpm
yum -y install gcc pcre-devel zlib-devel
cd lnmp
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure
make 
make install
yum -y install php-fpm
yum -y install mariadb-server mariadb
修改配置文件
vim /usr/local/nginx/conf/nginx.conf
	location ~\.php${
	   root html;
	   fstcgi_pass 127.0.0.1:9000;
	   fstcgi_index index.php;
	   include fastcgi.conf;
	}
:wq
]# /usr/local/nginx/sbin/nginx -t //测试修改	
启动服务
]# /usr/local/nginx/sbin/nginx
]# ss -ntulp | grep 80
]# systemctl start php-fpm
]# ss -ntulp | grep 9000
测试配置

编写测试文件

]# vim /usr/local/nginx/html/test.php
<?php
	echo "hello world";
?>

访问nginx服务

]# firefox http://192.168.4.57/test.php

配置支持Redis

安装软件并执行初始配置

]# tar -xzf redis-4.0.8.tar.gz
]# cd redis-4.0.8
]# make
]# make install
]# ./utils/install_server.sh	//初始化
]# /etc/init.d/redis_6379 status //查看服务状态

安装php扩展

 ]# yum -y install php php-devel
 ]# tar -zxf php-redis-2.2.4.tar.gz 
 ]# cd phpredis-2.2.4/
 ]# phpize
 ]# ./configure --with-php-config=/usr/bin/php-config
 ]# make ; make install
 ]# vim /etc/php.ini 
 	728: extension_dir = "目录名"; //模块目录
 	730:extension="redis.so";		//模块名
 ]# systemctl restart php-fpm

测试配置
编写部署测试文件,查看访问结果

]# php -m | grep -i redis 		//检查是否支持模块
]# vim /usr/local/nginx/html/redis.php	//编写测试脚本
<?php
	$redis = new redis();
	$redis -> connect("ip地址","端口");
	$redis -> auth("密码");
	$redis -> set("Linux","helloworld");		//存数据
	echo $redis -> get("Linux"); //取数据
?>
]# curl http://localhost/redis.php
helloworld 
发布了18 篇原创文章 · 获赞 23 · 访问量 3086

猜你喜欢

转载自blog.csdn.net/qq_42130112/article/details/103576634