一、redis、memcached、mongoDB 对比

Memcached 和 Redis都是内存型数据库,数据保存在内存中,通过tcp直接存取,速度快,并发高。Mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached 的分布式不是在服务器端实现的,而是在客户端应用中实现的,即通过内置算法制定目标数据的节点,Memcached 的分布式是基于客户端的Key的hash来做均衡,是个伪分布式的系统。

Redis是一个key-value存储系统。和 Memcached 类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与 Memcached 一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。

二、redis、memcached、mongoDB 的安装

*******************************************************redis安装,一键安装脚本后续附上*************************************

1、下载Redis2.8.19和安装Tcl-8.6.3

wget http://download.redis.io/releases/redis-2.8.19.tar.gz
wget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz
tar -zxf tcl8.6.3-src.tar.gz
cd tcl8.6.3/unix/
./configure
make
make install
tar -zxf redis-2.8.19.tar.gz
cd redis-2.8.19

2、编译

[root@localhost202 redis-2.8.19]# make

3、安装

[root@localhost202 redis-2.8.19]# make PREFIX=/usr/local/redis install 这步完了之后,Redis就被安装到了/usr/local/redis/ 下面了

4、配置,下面就是修改配置文件
cp ./redis.conf /usr/local/redis/
vim /usr/local/redis/redis.conf

daemonize yes #redis将以守护进程的方式运行,默认为no会暂用你的终端

timeout 300 #当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

dir /data/redisdb #指定数据库持久化数据目录

mkdir -p /data/redisdb #创建redis数据存放目录

5、运行/开启Redis
/usr/local/redis/bin/redis-server

*******************************************************memcached安装,一键安装脚本后续附上*************************************

一、安装gcc、make和libevent
yum -y install gcc make

wget http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz
tar zxf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./configure
make && make install

二、下载memcached安装:
wget http://memcached.org/files/memcached-1.4.20.tar.gz
cd memcached-1.4.20
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/lib
make && make install

三、配置启动

# vi /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local

/usr/local/memcached/bin/memcached -p 12621 -U 0 -d -r -u root -m 2040 -c 1024 -t 4

保存后退出,手动启动服务
/usr/local/memcached/bin/memcached -p 12621 -U 0 -d -r -u root -m 2040 -c 1024 -t 4

*******************************************************mongoDB安装,一键安装脚本后续附上*************************************

1、下载安装

wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.1.tgz
tar -zxvf mongodb-linux-i686-2.0.2-rc2.tgz
mv mongodb-linux-i686-2.0.2-rc2 mongodb

在mongodb目录下新建一个data目录存放数据、新建一个log目录存放日志,然后在该目录下新建一个日志文件,命名为mongodb.log

mkdir log
mkdir data
cd log
touch mongodb.log

然后进入到mongodb/bin目录中

cd mongodb/bin
使用mongod命令建立一个mongodb数据库链接,端口号设置为100001,数据库的路径为/mongodb/data,日志路径为/mongodb/log/mongodb.log

2、启动测试
启动命令 :
 ./bin/mongod -port 10001 --dbpath data/ --logpath log/mongodb.log
all output going to: log/mongodb.log
使用客户端来连接该数据库
重新开启一个终端,然后切换到mongodb目录下:

cd usr/local/mongodb
然后使用bin/mongo命令来连接该数据库

./bin/mongo localhost:10001

通过浏览器访问
在浏览器地址栏输入: http://localhost:10001/ 然后回车访问
可以看到如下提示:You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
然后根据提示把端口号加上1000访问 http://localhost:11001/ 、
就能够访问到Monodb的服务端web页面

通过配置文件来配置Mongodb
首先在mongodb目录下新建一个文件,文件名任意,在这里我取名为:mongodb.conf

vi mongodb.conf
然后在配置文件中添加配置信息

port=10001
dbpath=data/
logpath=log/mongodb.log
logappend=true
解释说明:
port=10001【代表端口号,如果不指定则默认为 27017 】
dbpath=data/ 【数据库路径】
logpath=log/mongodb.log 【日志路径】
logappend=true 【日志文件自动累加,而不是覆盖】

启动Mongodb服务
./bin/mongod -f mongodb.conf
all output going to: log/mongodb.log
然后访问方式和之前的一样。

redis、memcached、mongoDB 对比与安装的更多相关文章

  1. redis memcached MongoDB

    我们现在使用的模式是,对于直接的key value对需缓存的直接用memcached.对于collection类型就使用Redis.对于大数据量的内容性的东西,我们打算尝试用mongoDB.也正在学习 ...

  2. redis、mongodb、memcache安装好后设置开机自启动

    vim /etc/rc.d/rc.local /usr/local/mongodb/bin/mongod --smallfiles /usr/local/bin/redis-server/usr/lo ...

  3. Redis ,Memcached ,Mongodb 对比

    memcached: 1.适合做内存缓存,对可靠性没有要求,不支持持久化:速度快.并发高.2.支持的数据结构单一,只支持Key-value,3.value最大支持1M3.在传统tomcat 部署war ...

  4. HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比

    最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...

  5. 面试阿里被分布式“搞懵”,Redis、MongoDB、memcached没答上来

    都说大厂面试难,一点也没有错,一线大厂的面试究竟怎么样还得自己亲身经历了才知道.小白面试阿里,就被面试官吊打,一问分布式就被“搞懵”了,Redis.MongoDB.Memcached都没答好,很多没有 ...

  6. Memcached、Redis、Mongodb比较

    Memcached(内存Cache) Memcached 是一个高性能的分布式内存对象缓存系统.通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库 ...

  7. centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展

    centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展 获取Php的编译参数方法: [root@eus-api-cms-bac ...

  8. 面试题-Redis、MongoDB、Memcached[转]

    https://blog.csdn.net/gangsijay888/article/details/81213811 一.缓存 搞懂缓存那些事:https://blog.csdn.net/a7248 ...

  9. Redis、MongoDB及Memcached的区别 Redis(内存数据库)

    Redis.MongoDB及Memcached的区别 Redis(内存数据库) 是一个key-value存储系统(布式内缓存,高性能的key-value数据库).和Memcached类似,它支持存储的 ...

随机推荐

  1. redis中的key设置过期时间

    EXPIRE key seconds 为给定  key  设置生存时间,当  key  过期时(生存时间为  0  ),它会被自动删除. 在 Redis 中,带有生存时间的  key  被称为『易失的 ...

  2. Redis学习 - 配置属性:bind

    bind这个属性很容易理解成限制可以访问的IP地址,其实是指Redis服务器可以选择监听来自哪个网卡的访问请求.我们再用的时候一般都只有一个网卡,所以只能写本机的IP地址或者回路地址.否则在启动服务器 ...

  3. Asp.Net Core--自定义基于策略的授权

    翻译如下: 在封面下,角色授权和声明授权使用需求,需求的处理程序和预配置的策略. 这些构建块允许您在代码中表示授权评估,从而允许更丰富,可重用和容易测试的授权结构. 授权策略由一个或多个需求组成,并在 ...

  4. 学习 opencv---(1) opencv3.1.0 组件结构浅析

    本系列是根据 浅墨大神 的opencv系列而写的,,应该大部分内容会一样..如有侵权还请告知........... 开发环境:win7 + VS2013 + opencv3.1.0 至于OpenCV组 ...

  5. YII2 日志

    YII 提供的日志写入方法: Yii::getLogger()->log($message, $level, $category = 'application') Yii::trace($mes ...

  6. BZOJ 4723: [POI2017]Flappy Bird

    Description 从一个点到一条直线,每次纵坐标只能增加或减少1,有些位置有障碍,求最少增加步数. Sol 贪心. 或许是贪心吧...反正在可到达的范围内,纵坐标尽量小... 做的时候维护一下两 ...

  7. gdbsever 使用说明

    gdbsever 使用说明 在新塘N3292x平台下 编译 gdbsever ./configure --target=arm-linux --host=arm-linux arm-linux-gdb ...

  8. .NET 程序集与命名空间

    程序集 程序集(assembly)是一个或多个托管模块,以及一些资源文件的逻辑组合. 组成部分 Windows文件首部 CLR文件首部 程序集清单 类型元数据 MSIL(CIL)代码 嵌入资源集 作用 ...

  9. Note1: windows下Python IDE(Eclipse+Pydev)

    毕设想做一个个性化音乐推荐系统,真的是从零开始学起,通过<推荐系统实践>大致地了解了一些基础知识,目前在啃<集体智慧编程>. 选用的开发环境是 Eclipse+Pydev . ...

  10. QT error: cannot find -lGL

    自己电脑新搭建的QT5.4.2编程环境,编译的第一个程序出现错误:error: cannot find -lGL 经查证,是找不到GL库,解决办法: sudo apt-get install libg ...