Redis PHP连接Redis
admin
2023-02-07 16:20:04
0

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脚本页面

$redis = new redis();  #生成redis类的对象,生成之后可以用这个类里面的方法

$redis->connect('127.0.0.1',6379);  #连接redis的ip地址端口号

$redis->set('redistest','666666');  #给redistest赋值为666666

echo $redis->get('redistest'); #获取redistest的值

?>






相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...