Redis简介
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)
文章源自小柒网-https://www.yangxingzhen.cn/561.html
性能
下面是官方的bench-mark数据:
文章源自小柒网-https://www.yangxingzhen.cn/561.html
测试完成了50个并发执行100000个请求。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
设置和获取的值是一个256字节字符串。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
文本执行使用loopback接口(127.0.0.1)。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
结果:读的速度是110000次/s,写的速度是81000次/s 。
文章源自小柒网-https://www.yangxingzhen.cn/561.html
Redis数据库安装
下面介绍在Linux环境下,Redis数据库的安装与部署
1)首先下载Redis 源码包
[root@localhost ~]# yum -y install wget gcc gcc-c++
[root@localhost ~]# wget -c http://mirrors.yangxingzhen.com/redis/redis-3.0.7.tar.gz
2)解压、预编译
[root@localhost ~]# tar zxf redis-3.0.7.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/redis-3.0.7/
[root@localhost redis-3.0.7]# make
3)编译完成之后,可以看到解压文件redis-3.0.7 中会有对应的src、conf等文件夹,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。
[root@localhost redis-3.0.7]# ls -l
4)编译成功后,进入src文件夹,执行make install进行Redis安装
5)安装完成,界面如下
[root@localhost redis-3.0.7]# cd src/
[root@localhost src]# make install
6)启动Redis服务
#拷贝配置文件到/etc目录下
[root@localhost src]# cp ../redis.conf /etc
#创建软连接
[root@localhost src]# ln -s /usr/local/redis-3.0.7/src/redis-* /usr/bin
#后台启动(也可以在配置文件修改daemonize为YES)
[root@localhost src]# nohup redis-server /etc/redis.conf &
#查看端口跟进程
PHP添加Redis扩展
要确保PHP代码能够连接Redis,需要添加Redis扩展程序,安装方法如下:
[root@localhost ~]# wget -c http://mirrors.yangxingzhen.com/php-redis/3.1.2.tar.gz
[root@localhost ~]# tar zxf 3.1.2.tar.gz
[root@localhost ~]# cd phpredis-3.1.2/
[root@localhost phpredis-3.1.2]# /usr/bin/phpize (生成configure,这是yum安装的)
[root@localhost phpredis-3.1.2]# ./configure --with-php-config=/usr/bin/php-config --enable-redis
[root@localhost phpredis-3.1.2]# make && make install
修改php.ini配置文件,加载redis.so模块:
extension_dir = /usr/lib64/php/modules/
extension = redis.so
重启httpd服务器,测试phpinfo文件,检查redis模块:
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
![weinxin](https://www.yangxingzhen.com/images/weixin.jpg)
![weinxin](https://www.yangxingzhen.com/images/weixingongzhonghao.png)
亲测,写的不错,感谢博主![:razz:](https://www.yangxingzhen.cn/wp-content/themes/begin/img/smilies/icon_razz.gif)