了解redis
Redis 是一个开源、支持网络、基于内存、键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作。换句话来说,只需投入一小部分时间与精力,大家就能获得立竿见影且效果极佳的性能表现提升,就是说它是一个非常简单缓存解决方案。它支持存储的 Value 类型不仅限于字符串,支持主从同步,数据持久化等等,大家都认为 Redis 是最流行的 Key-Value 存储数据库,肯定有人问 Memcached 呢?
Redis PK Memcached
首先我刚去 DB-Engines.com 的数据库排行中看了一下,Redis 排行第九,Key-value store
第一位;Memcached 排行二十三,Key-value store
第二位。这当然不能说明什么了。
Redis 支持更多的数据类型,包括:String、Hash、List、Set;Memcached 仅支持一种 String 数据类型。
Redis 通过 Multi/Watch/Exec
等命令可以支持事务的概念,原子性的执行一批命令;Memcached 的应用模式中,除了increment/decrement这样的原子操作命令,不存在对事务的支持。
Redis 可以以 master-slave
的方式配置服务器实现主从同步备份,同时只持两种持久化方案;Memcached 不保证存储的数据的有效性,也不做数据的持久化工作。当然这些也都说明不了什么。
每种事物存在这个世界总有他的意义。Memcached 的内部内存管理机制虽然不像 Redis 的那样复杂,但却更具实际效率,因为 Memcached 在处理元数据时所消耗的内存资源相对更少;在横向扩展方面也比Redis更具优势,由于其在设计上的思路倾向以及相对更为简单的功能设置。比如,缓存一段字符串或 Html页面的时候,相对来说用 Memcached 会更好一些。
Linux 下 安装 Redis
1、下载解压安装
http://download.redis.io/releases/redis-3.2.5.tar.gz
tar xzf redis-3.2.5.tar.gz
mv redis-3.2.5 /usr/local/redis
2、进入目录,编译安装
cd /usr/local/redis
make
make install
安装完成,这个时候会在/usr/local/bin 目录下看到redis-server和redis-cli等这个可执行的脚本,进入看一下,如果没有, 就要去解压目录复制了。
3、配置redis.conf
回到/usr/local/redis目录,进行配置:
cd ../redis
vim redis.conf
这里要修改两个地方,一个是bind,另一个是daemonize.
bind这里要注意,默认只有一个127.0.0.1,这个只能我们自己访问,其他局域网是访问不了的,所以需要配置多个ip。
daemonize是设置是否后台启动redis,默认是no,正常情况下都需要以服务的形式启动redis,所以设置为yes。
修改完成,保存退出。
这里的具体配置我就不再赘述,有一位linli8的大神据说熬夜翻译了一下,这是地址:
https://github.com/linli8/cnblogs/blob/master/redis%E5%89%AF%E6%9C%AC.conf
4、启动redis
cd /usr/local/bin
redis-server /usr/local/redis/redis.conf
netstat -anp|grep 6379
5、测试一下
这里用命令行方式连接上redis进行一个简单的设置,获取缓存测试。
redis-cli #连接redis,默认是本机的。
keys * #查看所有的kay
set name hello #设置一个key为name,value为hello的缓存对象。
get name #获取key为name的缓存对象。
6、关闭redis
redis shutdown