Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis的优势
(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);
(2) 支持丰富数据类型,支持string,list,set,sorted set,hash;
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行;
(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除。
redis相比memcached有哪些优势?
(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型;
(2) redis的速度比memcached快很多;
(3) redis可以持久化其数据;
php中如何安装redies扩展?
一、在安装php中安装redis首先要在安装redis;
1、windows中安装redies的方法:
下载https://github.com/MSOpenTech/redis/releases,redies支持32位和64位,根据自己电脑的系统类型选择zip安装包下载。
注意:在官网中下载的redis安装包解压后会发现没有redis-server.exe和redis-cli.exe 这是因为官网提供的是linux系统下的安装包。
在你想安装redis的地方新建一个redis文件夹,并将下载的redis的zip安装包里的内容解压到前面创建的redis文件夹内。
接下来就是安装redis了。
打开cmd控制台(快捷组合键:win(ctrl旁边的windows系统图标按键)+R 然后输入cmd 按回车键):在控制台中将当前目录切换到你的安装redies的目录(也就是你上面创建的redies文件夹路径),然后运行redis-server.exe redis.windows.conf(将redis文件夹目录加到path系统环境变量中,以后每次启动redis的时候就可以不用输入redis.windows.conf,只需要输入redis-server.exe就可以了),运行之后出现下面的界面则说明redis已经安装成功。接下来是使用redis。前的cmd窗口不要关闭,再打开一个cmd窗口并切换到redis目录(如果前面添加了系统环境变量则可以不用切换路径),输入redis-cli.exe -h 127.0.0.1 -p 6379 (127.0.0.1是本地环境ip,每台电脑的本地环境ip都是一样的,6379是redis的运行端口,默认是6379,这个可以在redis的配置文件中修改)
然后设置键值对 set testkey teseval
获取键值 get testkey
系统会返回"testval"
到此redis安装完毕并可以正常使用。
接下来是php中安装redis扩展
在php中,不同版本的php需要的redis扩展也是不一样的,可以通过phpinfo函数查看php的版本信息
在php中安装redis扩展需要安装redis和igbinary扩展,这两个扩展的版本信息要一致,否则redis安装不成功,
redis和igbinary扩展的安装方法:下载扩展包,解压,将php_redis.dll和php_igbinary.dll放入php的扩展目录ext下,
然后在php.ini中加入
extension=php_igbinary.dll
extension=php_redis.dll
为了方便扩展管理,可以加在现有扩展的后面
这两个扩展的顺序不能变,php_igbinary.dll一定要在php_redis.dll的前面,然后重启apache。
接下来就是在php中测试使用redis了
新建一个php文件:
<?php
$redis = new Redis();
$redis = connect('127.0.0.1',6379);//相当于:redis-cli.exe -h 127.0.0.1 -p 6379
$redis->delet('testkey'); //清除'testkey'的历史记录,防止对后面的操作造成影响
$redis -> set('testkey','testval');
var_dump($redis->get('testkey'));
然后在浏览器中访问这个文件,如果成功输出'testkey'设置的值,说明redies扩展安装成功并可以正常使用。
注意:在php中使用redis扩展需要启动redis-server.exe,也就是上面安装redis,运行redis-server.exe的步骤,启动后cmd窗口不能关掉,否则运行使用redis扩展的php文件会报错“Uncaught exception 'RedisException' with message 'Redis server went away'”
不同版本对应的redis扩展安装文件(包含redis扩展和igbinary扩展)
redis扩展下载链接:https://windows.php.net/downloads/pecl/releases/redis/2.2.7/
igbinary扩展下载链接:https://windows.php.net/downloads/pecl/releases/igbinary/2.0.1/
下载链接中,第一条中横线‘-’后面的数字表示扩展的版本号,第二条中横线‘-’后面的数字表示php的版本,php版本后面是服务器环境的具体信息
还有一个主意事项(这里的X86和X64对应的不是电脑系统信息,而是你安装的php版本信息,通过phpinfo函数,对应Architecture的信息)
php redis扩展下载链接(包含redis/igbinary):https://pan.baidu.com/s/1lKDJv2XhdWmojxi6JnFfXg 密码:t75s