当前位置: 首页 > 后端技术 > PHP

当Redis遇上ThinkPHP5

时间:2023-03-29 20:40:59 PHP

HELLO,REDISRedis是一个K/V存储的非关系型数据库,数据存储在内存中;它与memcache非常相似,但Redis支持更多的数据结构(字符串、链表、哈希腊、集合等)。读写速度非常快。在官方测试中,读取速度为11万次/s,写入速度为81000次/s。通常我们将Redis用于队列、缓存等对性能要求较高的地方。1、安装Redis[危险]下面只提供Linux下的安装过程。推荐使用Centos7+/Ubuntu14+系统。除了按照文中搭建虚拟机或VPS安装Redis外,还推荐大家直接使用新浪云部署环境,更加方便快捷。这本书的内容。1.1编译安装首先我们下载Redis安装包$>wget-chttp://download.redis.io/releases/redis-3.2.8.tar.gz下载后解压安装包$>tarxzfredis-3.2。8.tar.gz进入文件目录$>cdredis-3.2.8安装$>make复制配置文件到/etc/目录下$>cpredis.conf/etc/复制命令行工具到/usr/local/bin/目录,以后使用redis命令行工具就不用去redis-3.2.8目录了。$>cpredis-benchmarkredis-cliredis-server/usr/local/bin/修改配置文件,将redis设为守护进程启动$>vi/etc/redis.conf找到daemonizeno改成deamonizeyes启动Redis$>redis-server/etc/redis.conf查看redis进程是否正常启动$>ps-ef|grepredis检查redis是否正常运行$>redis-cli$[redis-cli]>settesttest$[redis-cli]>gettest执行结果返回test,即Redis运行正常1.2docker安装如果你的当前系统可以使用docker,那就更好简单,只需要执行一行命令即可完成安装$>sudodockerrun-d-p6379:6379--nameredis-servertutum/redisredisinstalledusingtutum/redis带有默认密码。使用以下命令查看redis连接密码$>sudodockerlogsredis-server2.安装RedisPECL扩展可以通过pecl命令或源码包编译安装。本文使用pecl命令安装Redis扩展。在命令行输入$>peclinstallredis安装RedisPECL展开后,执行命令通过php--riredis命令查看Redis是否安装成功,或者通过phpinfo或php-m查看Redis是否安装成功.3.安装ThinkPHP5可以使用Composer安装ThinkPHP5或者直接下载ThinkPHP5源码核心包。本文使用Composer安装。已使用最新版本的Composer,可使用以下命令直接从Composer官网下载Composer.phar,自动安装到/usr/local/bin/目录下$>php-r"readfile('https://getcomposer.org/installer');"|php----install-dir=/usr/local/bin/--filename=composer$>composerself-update如果以上安装过程极其缓慢,可以尝试使用以下方法使用Composer国产镜像安装。$>php-r"readfile('http://install.phpcomposer.com/installer');"|php----install-dir=/usr/local/bin/--filename=composer$>composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com$>composerself-update3.2安装ThinkPHP5框架使用以下命令安装最新版本的ThinkPHP5框架到当前目录下的thinkRedisFirst文件夹$>composercreate-projecttopthink/thinkthinkRedisFirst--prefer-dist4.HelloWorldpublicfunctionredis(){$redis=new\Redis();$redis->connect('127.0.0.1',6379);//$redis->auth('密码');#如果没有密码则不需要这一行//将'test'字符串保存到redis$redis->set('test_name','test');//改变'test_name'的值从redisReadecho$redis->get('test_name');}如果返回结果是test,说明redis和phpredis都运行正常。更完整的Redis和ThinkPHP5示例,请访问我的电子书《当 Redis 遇上 ThinkPHP5》