了解一下 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

这里要修改两个地方,一个binddaemonize就行。

bind这里配置要注意,默认是只有一个127.0.0.1,这个时候只能自己连接,其他局域网内是连接不上的。所以,需要配置多个 IP ,这样就可以局域网内进行连接了。

daemonize是设置是否后台启动 Redis,默认no,正常都需要以服务形式启动 Redis,所以这里设置为yes

修改完后,保存退出。

这里配置文件的各个参数信息我不再一一赘述,有位叫 linli8 的博主据说熬夜翻译了一下,哈哈,有兴趣可以看看: https://github.com/linli8/cnblogs/blob/master/redis副本.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 下进行安装配置的更多相关文章

  1. CentOS下Redisserver安装配置

    1.CentOS 6.6下Redis安装配置记录 2.CentOS下Redisserver安装配置

  2. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

  3. [转帖]CentOS下iRedMail安装配置

    CentOS下iRedMail安装配置 中文名为艾瑞得邮件,由 rhms 项目更名而来.是针对 Linux 设计的邮件服务器解决方案,是在操作系统安装好后使用的一套 shell 脚本,用于快速部署一套 ...

  4. hadoop在CentOS下的安装配置

    版本:CentOS-6.8-x86_64-minimal,hadoop2.6.4,jdk1.7.0 首先把jdk.hadoop压缩包下载发送到CentOS下并解压 下载发送不多赘述,解压命令tar - ...

  5. Centos 下mysql安装配置

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  6. CentOS下NTP安装配置

      安装yum install ntp 配置文件 /etc/ntp.confrestrict default kod nomodifynotrap nopeer noqueryrestrict -6 ...

  7. Centos 下php安装配置xdebug扩展

    2018年05月02日 19:54:42 杨汉松 阅读数:44   1.下载安装xdebug 获取xdebug wget http://www.xdebug.org/files/xdebug-2.3. ...

  8. centos下编译安装lnmp

    centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...

  9. CentOS下OpenVPN客户端配置

    CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkd ...

随机推荐

  1. 如何在Windows 2003+IIS6的环境下找回应用程序池(application pool)中的服务账号密码

    上一篇文章说了说如何在Win2008+iis7中取出SharePoint管理账号密码的方法. 整个过程简单的讲,就是通过使用要找回密码的账号用来在SharePoint中创建一个临时的Web Appli ...

  2. Eclipse搭建c环境(CDT)二

    Eclipse 编辑c程序环境的搭建主要为其安装CDT插件即可 Eclipse搭建CDT步骤如下: 1.首先配置好java环境,为后续运行eclipse做准备 (略) 2.下载并安装eclipse(这 ...

  3. Disruptor-NET和内存栅栏

    Disruptor-NET算法(是一种无锁算法)需要我们自己实现某一种特定的内存操作的语义以保证算法的正确性.这时我们就需要显式的使用一些指令来控制内存操作指令的顺序以及其可见性定义.这种指令称为内存 ...

  4. [.net 面向对象程序设计进阶] (21) 反射(Reflection)(下)设计模式中利用反射解耦

    [.net 面向对象程序设计进阶] (21) 反射(Reflection)(下)设计模式中利用反射解耦 本节导读:上篇文章简单介绍了.NET面向对象中一个重要的技术反射的基本应用,它可以让我们动态的调 ...

  5. Windows Azure Storage (18) 使用HTML5 Portal的Azure CDN服务

    <Windows Azure Platform 系列文章目录> Update:2015-04-15 如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的文档:Azu ...

  6. EF连接PostgreSql

    1.用nuget安装npgsql和EF 注意,Nuget一定要安装Npgsql的2.2.7版本,更高版本nuget在后面安装EF的时候无法自动解析. install-Package Npgsql -V ...

  7. 程序员的又一春,微信小程序带来的一个赚钱机遇

    微信小程序可能是原生的机遇,在程序员面对微信小程序的恐惧中说其实也是我们程序员创业的春天或者挣外快的一个机遇. 为什么这么说呢?且听我慢慢给你分析 成本角度 你想想,会ios开发的可能只会ios,会安 ...

  8. Thrift架构~目录

    回到占占推荐博客索引 概念相关 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ru ...

  9. css+div常用属性备忘录

    学习软件设计有一年多了,明年五月就要毕业了.回头看看发现自己其实挺差劲的. 最近开通了博客所以就整理了一下笔记,在这里发布一下自己以前学习css时总是记不住去翻书又很常用的属性,都是一些很基础的. 大 ...

  10. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...