设为首页 收藏本站
查看: 609|回复: 0

[经验分享] Redis PHP连接Redis

[复制链接]

尚未签到

发表于 2018-11-2 09:49:36 | 显示全部楼层 |阅读模式
  Redis是一款高性能分布式内存数据库,支持数据持久化(可以把内存里的数据保存到硬盘中),支持list、hash、set、zset数据类型,支持master-salve模式(主从)。
  部署redis服务
  1、下载redis源码包,源码编译安装
  tar zxf redis-4.0.8.tar.gz
  cd redis-4.0.8
  make
  make install
  2、初始化配置(redis服务端口号,主配置文件,数据库目录,pid文件,启动程序)
  ./utils/install_server.sh    #初始化
  3、启动,停止服务(/etc/init.d/redis_6379 此文件是安装redis后自带脚本,用它可以启动停止服务,也可查看服务状态)
  /etc/init.d/redis_6379  start
  /etc/init.d/redis_6379  stop
  /etc/init.d/redis_6379  status
  redis服务的启动和停止都是通过脚本来执行的,当修改了配置文件里面的 地址 端口 密码 则在/etc/init.d/redis_6379 脚本中需要修改这些参数,因为这个脚本也是使用redis的默认参数来启动或则停止的。
  redis基本命令
  redis-cli                 #连接redis服务
  备注:redis-cli 不写任何参数默认使用本地环回口地址127.0.0.1和默认端口6379连接,如果修改了配置文件里的监听地址和端口则需要跟相应的参数来连接redis服务。比如我们修改redis可以允许其它用户可以使用6352端口远程登陆,则修改配置文件里的 bind 192.168.4.52  和 port 6352  ,使用 redis-cli -h 192.168.4.52  -p 6352 来登陆,如使用了密码则需加 -a选项 后面跟密码登陆。
  ping                      #测试连接是否成功(返回pong说明成功)
  set  name  lisi        #存储name为lisi
  get  name             #获取name的值
  select  2                #切换到2库(redis默认有16个库 0~15)
  keys  *                  #打印所有变量
  keys  a?                #打印指定表量(?代表一个字符)
  EXISTS  name       #测试name是否存在(存在显示1,不存在显示0)
  ttl  name              #查看name的生存时间(就是有效期是多久)
  type  name           #查看name的类型
  move  name  2     #把name移动到2库里
  expire  name 10   #设置name的有效时间为10秒
  del  name            #删除name变量
  flushall                #删除所有变量
  save                    #保存内存的数据到硬盘
  shutdown           #关闭redis服务
  配置文件解析
  /etc/redis/6379.conf
  prot  6379        #监听端口
  bind  127.0.0.1  #监听ip地址,如果需要远程登陆需要改成本地网卡的ip地址,不能使用本地回环地址;如有多个地址用空格隔开
  tcp-backlog  511 #redis允许tcp连接的总数(已建立连接的个数+正在连接的个数)
  timeout  0   #连接超时时间(0为永不不超时,timeout  30 代表30秒就端开)
  tcp-keepalive  300  #长连接时间(每隔300秒检查一次连接是否还在)
  daemonize  yes  #守护进程方式运行(就是一直在内存里运行,no是当连接的时候才会在内存里运行)
  databases  16 #数据库个数
  logfile  /var/log/redis_6379.log  #pid文件
  maxclients  10000 #redis服务能够处理并发连接数
  dir /var/lib/redis/6379  #数据库目录(redis数据文件保存在此目录下,名字为dump.rdb)
  requirepass  123456  #设置连接redis服务的密码(默认不设置,因为redis是用内存存储数据,它是架设在linux上,此服务是通过防火墙来控制的,它不负责安全)
  内存清除策略
  – volatile-lru 最近最少使用 (针对设置了过期时间的 key )
  – allkeys-lru 删除最少使用的 key
  – volatile-random 在设置了过期的 key 里随机移除
  – allkeys-random 随机移除 key
  – volatile-ttl (minor TTL) 移除最近过期的 key
  – noeviction 不删除 写满时报错
  选项默认设置
  – maxmemory  // 最大内存(默认单位是bytes)
  – maxmemory-policy [noeviction] // 定义使用的策略 [ ] 里的策略可修改
  – maxmemory-samples 5 // 选取模板数据的个数(针对 lru 和 ttl 策略) 数字越大选的越精准,对cpu消耗就大
  部署LNMP+Redis
  1、搭建LNMP
  a、源码编译nginx
  b、并配置nginx支持动态页面
  location ~ \.php$ {
  root    html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;   #SCRIPT_FILENAME 这里面是存客户端访问的php文件名叫什么, $document_root 告诉php要解释那个网页文件,获取客户端访问的页面
  include    fastcgi_params;
  }
  c、安装mysql
  d、安装php-fpm
  2、部署PHP支持Redis
  a、安装redis服务
  b、默认php是不能连接redis,需要安装支持php连接redis模块的包php-redis
  先安装php-devel软件包会有/usr/bin/phpize这个命令,然后执行/usr/bin/phpize会在/usr/bin/下生成php-config配置文件,因为后面配置php-redis需要获取php的配置信息也就是这个配置文件
  php-redis是源码包,需源码编译安装
  tar -zxf php-redis-2.2.4.tar.gz
  cd php-redis-2.2.4/
  ./configure --with-php-config=/usr/bin/php-config   #配置支持php-config的配置
  make
  make install
  安装完成之后会输出模块安装路径信息,我们修改php配置文件时需要写此路径,告诉它在此路径下找我们安装的模块。
  c、测试配置
  php -m  #产看php支持的模块
  修改php配置文件
  vim /etc/php/ini
  extension_dir = "/usr/bin/php-config"   #到那个路径下找模块
  extension = "redis.so"  #模块名叫什么
  重启php-fpm服务测试
  php连接redis服务php脚本页面
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-629677-1-1.html 上篇帖子: 基于Redis实现分布式锁实战 下篇帖子: docker下redis集群搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表