Redis 对比 Memcached 并在 CentOS 下进行安装配置详解
redis 是一个开源、支持网络、基于内存、键值对的 key-value 数据库,本篇文章主要介绍了redis 对比 memcached 并在 centos 下进行安装配置详解,有兴趣的可以了解一下。
了解一下 redis
redis 是一个开源、支持网络、基于内存、键值对的 key-value 数据库,使用 ansi c 编写,并提供多种语言的 api ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作。换句话来说,只需投入一小部分时间与精力,大家就能获得立竿见影且效果极佳的性能表现提升,就是说它是一个非常简单缓存解决方案。它支持存储的 value 类型不仅限于字符串,支持主从同步,数据持久化等等,大家都认为 redis 是最流行的 key-value 存储数据库,肯定有人问 memcached 呢?
redis vs 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 会更好一些。
centos 下 安装 redis
1.下载解压安装 redis ,这里是官网下载的最新的3.2.5
版本,依然通过wget
下载(我喜欢这种方式)。
wget 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
上面 mv redis-3.2.5 /usr/local/redis
命令是移动 redis 安装文件到安装目录,当然这个目录你可以自定义。
2.进入目录,编译安装
cd /usr/local/redis make make install
安装完成,这时候会在/usr/local/bin/
目录下看到redis-server、redis-cli
等这个可执行脚本,进入看一下,如果没有,就要去解压目录复制进去了。
cd /usr/local/bin/
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.启动
cd /usr/local/bin/ redis-server /usr/local/redis/redis.conf netstat -anp | grep 6379
5.测试一下
这里用命令行模式连接上 redis 进行一个简单的设置、获取缓存测试。
redis-cli #连接 redis ,默认是本机的。 keys * #查看现在所有 key set name mafly #设置一个key为`name`,value为`mafly`的缓存对象。 get name #获取key为`name`的缓存
6.关闭 redis
redis-cli shutdown
通过 netstat 可以看出来端口已经是time_wait
状态了。
总结一下
经过这次安装配置 redis 的过程,也让我更加了解了一下 memcached ,也更明白了这两种最流行的 key-value 缓存服务的优劣势,当然大多数都是通过网络获取,在实际运用中怎样也在监测中。
每一个开源软件都值得大家去尊敬,每次用到开源软件我都怀着一颗感动的心,感谢作者的无私奉献,当然商用软件的在国内的境遇依然值得人深思,一家有能力购买正版软件的公司为什么还是在用着盗版软件?
希望这篇文章对你有稍微一点用。也希望大家多多支持。
推荐阅读
-
Redis 对比 Memcached 并在 CentOS 下进行安装配置详解
-
CentOS 7下安装 redis 3.0.6并配置集群的过程详解
-
Redis 对比 Memcached 并在 CentOS 下进行安装配置
-
CentOS下Redis 2.2.14安装配置详解
-
Redis 对比 Memcached 并在 CentOS 下进行安装配置
-
CentOS下Redis 2.2.14安装配置详解
-
CentOS 7下安装 redis 3.0.6并配置集群的过程详解
-
Redis 对比 Memcached 并在 CentOS 下进行安装配置详解
-
了解一下 Redis 并在 CentOS 下进行安装配置