Redis配置文档和mongodb配置文档

时间:2024.4.7

Redis配置文档

一、Redis的安装

1. 操作系统centOs5.8。

2. Download,extract and compile Redis with:

$wget

$tar xzf redis-2.4.17.tar.gz

$cd redis-2.4.17

$make

$make install

3. Terminal运行redis:

$./src/redis-server

4. 新打开Terminal,进行redis的客户端程序并测试

$./src/redis-cli

redis>set foo bar

OK

redis>get foo

“bar”

二、Redis扩展的配置

1. 操作系统centOs5.8。

2. 配置apache,php。

(1) Apache安装包httpd-2.2.11.tar.gz

Php安装包php-5.2.9.tar.gz

(2) 一般情况下,Linux默认安装了Apache。如果已经安装Apache,那我们就

先把它协卸载掉。

(3) 查看是否安装Apache通过命令

rpm -qa | grephttpd

可以看到是已经安装了httpd-2.2.3-11.el5_1.centos.3 那我们就把它卸载掉。 rpm -e httpd-2.2.3-11.el5_1.centos.3

如果出现这样的错误

error: Failed dependencies: httpd>= 2.2.0 is needed by (installed)

gnome-user-share-0.10-6.el5.i386

这里要先把gnome-user-share-0.10-6.el5.i386卸载掉,再卸载apache。 rpm -e gnome-user-share-0.10-6.el5.i386

rpm -e httpd-2.2.3-11.el5_1.centos.3

(4) 安装Apache

安装所需要的软件包我已经下载到 /usr/local/src,查看里边的文件有 ls /usr/local/src

cd /usr/local/src

解压apache

tar -zxvf httpd-2.2.11.tar.gz

进入解压的目录

cd httpd-2.2.11

并配置安装

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-expires --enable-cache --enable-mem-cache

然后执行

make

make install

安装完成后我们启动apache

/usr/local/httpd/bin/apachectl -k start

(5) 安装PHP

解压php

tar -zxvf php-5.2.9.tar.gz

进入php解压目录

cd php-5.2.9

配置

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql --with-zlib --enable-mbstring --enable-xml

执行

make

make install

将php配置文档复制到/usr/local/lib

cp php.ini-dist /usr/local/lib/php.ini

(6) 配置Apache

现在配置apache关联php,打开apache配置文档

vi /usr/local/httpd/conf/httpd.conf

输入

/LoadModule

可以看到LoadModule php5_module modules/libphp5.so。 输入

/DocumentRoot

可以看到我们的根目录是

DocumentRoot "/usr/local/httpd/htdocs"

输入

/AddType

点击i进入插入编辑模式,移动光标

在下面新增

AddType application/x-httpd-php .php

点击 Esc 退出插入编辑模式

输入 /DirectoryIndex

回车查找

在前面新增index.php

点击 Esc 退出插入编辑模式

输入

:wq

(7) 配置PHP

打开php配置文档

vi /usr/local/lib/php.ini

输入

/timezone

回车查找

改成date.timezone = PRC

输入

/error_reporting

回车查找

改成

error_reporting = E_ALL

输入

:wq

回车,保存退出。

(8) 配置完成后,我们测试一下

在网站根目录创建一个phpinfo.php

vi /usr/local/httpd/htdocs/phpinfo.php

输入

<?php

phpinfo();

?>

保存退出

:wq

然后在浏览器打开http://localhost/phpinfo.php

3. 安装配置redis扩展

下载地址:https://github.com/owlient/phpredis/downloads

wget https:///owlient-phpredis-2.1.1-0-g5a07edc.tar.gz

tar zxf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz

cd owlient-phpredis-90ecd17/

我的php是编译安装的所以执行

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

查看

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/redis.so 在vi /usr/local/lib/php.ini中添加

extension=redis.so

这一步要根据大家自己的php编译参数--with-config-file-scan-dir=/etc/php.d这个来决定把redis.so加在什么地方.

三、Redis状态页面的配置

1. 登录云警,进入REDIS任务创建页面,在“状态页面URL”输入框下,点击【下载

此文件】,将文件下载

2. 修改主机IP,将此文件加载至apache的根目录下。

3. 输入http://主机IP/redis_status.php,进入redis状态页面。

注释:启动状态页面时关闭防火墙

测试URL:http:// 222.44.46.40/redis_status.php

Mongodb配置文档

一、Mongodb的安装

1. 操作系统centOs5.8

2. wget

3. tar -xvf mongodb-linux-i686-2.0.3.tgz

mv mongodb-linux-i686-2.0.3.tgz /usr/local/mongodb

mkdir /user/local/mongodb/data

cd /usr/local/mongodb/bin

4. 新建配置文件,mongodb支持把参数写进配置文件,然后以配置文件的配置来启动,

我们此处也使用此方式。

(1) vi mongodb.conf

(2) dbpath = /data/db #数据文件存放目录

(3) logpath = /data/logs/mongodb.log #日志文件存放目录

(4) port = 27017 #端口

(5) fork = true #以守护程序的方式启用,即在后台运行

5. 启动Mongo程序,使用配置文件mongodb.conf定义的参数启动

./ --dbpath == /usr/local/mongodb/data

6. 另打开一个终端进入mongodb

cd /usr/local/mongodb/bin

./mongo

二、Mongodb扩展的安装

1. Apache和php的配置请参照redis中配置过程。

2. 安装配置mongodb的扩展

wget /get/mongo-1.2.7.tgz

tar zxvf mongo-1.2.7.tgz

cd mongo-1.2.7

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

//最后在php.ini中加入以下行并重启webserver

extension=mongo.so

三、Mongodb状态页面配置

1. 登录云警,进入mongodb任务创建页面,在“状态页面URL”输入框下,点击【下

载此文件】,将文件下载

2. 改主机IP和端口号,将此文件加载至apache的根目录下。

3. 输入http://主机IP/mongodb_status.php,进入mongodb状态页面。

注释:测试URL:http:// 222.44.46.40/mongodb.php


第二篇:memcache_redis_mongodb


关于redis、memcache、mongoDB的对比(整理)

(PHPer.yangwww.imop.us)

从以下几个维度,对redis、memcache、mongoDB做了对比。

1、性能

都比较高,性能对我们来说应该都不是瓶颈。

总体来讲,TPS方面redis和memcache差不多,要大于mongodb。

2、操作的便利性

memcache数据结构单一。(key-value)

redis丰富一些,数据操作方面,redis更好一些,较少的网络IO次数,同时还提供list,set,hash等数据结构的存储。

mongodb支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。

3、内存空间的大小和数据量的大小

redis在2.0版本后增加了自己的VM特性,突破物理内存的限制;可以对keyvalue设置过期时间(类似memcache)memcache可以修改最大可用内存,采用LRU算法。Memcached代理软件magent,比如建立10台4G的Memcache集群,就相当于有了40G。magent-s10.1.2.1-s10.1.2.2:11211-b10.1.2.3:14000

mongoDB适合大数据量的存储,依赖操作系统VM做内存管理,吃内存也比较厉害,服务不要和别的服务在一起。

4、可用性(单点问题)

对于单点问题,

redis,依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制,因性能和效率问题,

所以单点问题比较复杂;不支持自动sharding,需要依赖程序设定一致hash机制。

一种替代方案是,不用redis本身的复制机制,采用自己做主动复制(多份存储),或者改成增量复制的方式(需要自己实现),一致性问题和性能的权衡

Memcache本身没有数据冗余机制,也没必要;对于故障预防,采用依赖成熟的hash或者环状的算法,解决单点故障引起的抖动问题。

mongoDB支持master-slave,replicaset(内部采用paxos选举算法,自动故障恢复),autosharding机制,对客户端屏蔽了故障转移和切分机制。

5、可靠性(持久化)

对于数据持久化和数据恢复,

redis支持(快照、AOF):依赖快照进行持久化,aof增强了可靠性的同时,对性能有所影响

memcache不支持,通常用在做缓存,提升性能;

MongoDB从1.8版本开始采用binlog方式支持持久化的可靠性

6、数据一致性(事务支持)

Memcache在并发场景下,用cas保证一致性

redis事务支持比较弱,只能保证事务中的每个操作连续执行

mongoDB不支持事务

7、数据分析

mongoDB内置了数据分析的功能(mapreduce),其他不支持

8、应用场景

redis:数据量较小的更性能操作和运算上

memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)

MongoDB:主要解决海量数据的访问效率问题。表格比较:

memcache

类型

数据类型内存数据库在定义value时就要固定数据类型redis内存数据库不需要

有字符串,链表,集合和有序集合

虚拟内存

过期策略

分布式

存储数据安全

灾难恢复

性能

1、类型——memcache和redis都是将数据存放在内存,所以是内存数据库。当然,memcache也可用于缓存其他东西,例如图片等等。

2、数据类型——Memcache在添加数据时就要指定数据的字节长度,而redis不需要。

3、虚拟内存——当物理内存用完时,可以将一些很久没用到的value交换到磁盘。

4、过期策略——memcache在set时就指定,例如setkey1008,即永不过期。Redis可以通过例如expire设定,例如expirename10。

5、分布式——设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从。

6、存储数据安全——memcache断电就断了,数据没了;redis可以定期save到磁盘。

7、灾难恢复——memcache同上,redis丢了后可以通过aof恢复。

Memecache端口11211

yum-yinstallmemcached

yum-yinstallphp-pecl-memcache

/etc/init.d/memcachedstart

memcached-d-p11211-umemcached-m64-c1024-P/var/run/memcached/memcached.pid-d启动一个守护进程

-p端口

-m分配的内存是M

-c最大运行并发数不支持支持magent不支持不支持支持支持master-slave,一主一从或一主多从使用save存储到dump.rdb中appendonlyfile(aof)用于数据恢复

-Pmemcache的pid

//0压缩(是否MEMCACHE_COMPRESSED)30秒失效时间//delete5是timeout

<?php

$memcache=newMemcache;

$memcache->connect('127.0.0.1',11211);

$memcache->set('name','yang',0,30);

if(!$memcache->add('name','susan',0,30)){

//echo'susanisexist';

}

$memcache->replace('name','lion',0,300);

echo$memcache->get('name');

//$memcache->delete('name',5);

printf"stats\r\n"|nc127.0.0.111211

telnetlocalhost11211statsquit退出

Redis的配置文件端口6379

/etc/redis.conf

启动Redis

redis-server/etc/redis.conf

插入一个值

redis-clisettest"phper.yang"

获取键值

redis-cligettest

关闭Redis

redis-clishutdown关闭所有

redis-cli-p6379shutdown

<?php

$redis=newRedis();

$redis->connect('127.0.0.1',6379);

$redis->set('test','HelloWorld');

echo$redis->get('test');

Mongodb

apt-getinstallmongo

mongo可以进入shell命令行

peclinstallmongo

Mongodb类似phpmyadmin操作平台RockMongo

更多相关推荐:
Diogenes and Alexander 翻译

Lesson18DiogenesandAlesander他躺在光溜溜的地上赤着脚胡子拉茬的半裸着身子模样活像个乞丐或疯子可他就是他而不是别的什么人大清早他随着初升的太阳睁开双眼搔了搔痒便像狗一样在路边解手他在公...

Diogenes and Alexander 戴奥吉尼斯和亚历山大

GilbertHighetThisarticlebythelateclassicistGilbertHighetdescribesameetingbetweentwosharplycontrastingpers...

Diogenes and Alexander retelling第欧根尼和亚历山大

ThepassagecanbedevidedintotwopartsthefirstparttalksaboutDiogenesthesecondpartisaboutDiogenes39meetingwithAlexanderI...

大学英语(四)Diogenes and Alexander 戴奥吉尼斯和亚历山大

DiogenesandAlexander戴奥吉尼斯和亚历山大TheDogHasHisDayGilbertHighetThisarticlebythelateclassicistGilbertHighetdesc...

Thoughts After Diogenes and Alexander

TheQuestThatNeverEndsThisessayontheencounterofDiogenesandAlexanderisreallythoughtprovokingIknewalittleabouttheDoggi...

Diogenes_and_Alexander__戴奥吉尼斯和亚历山大

GilbertHighetThisarticlebythelateclassicistGilbertHighetdescribesameetingbetweentwosharplycontrastingpers...

Diogenes and Alexander

DiogenesandAlexanderLyingonthebareearthshoelessbeardedhalfnakedhelookedlikeabeggaroralunaticHewasonebutnottheotherH...

Diogenes and Alexander

DiogenesandAlexanderGilbertHighetThisarticlebythelateclassicistGilbertHighetdescribesameetingbetweentwosh...

Waiting for Goldie

WaitingforGoldieDannysgrandfatherhasmanypigeonsoneofthemhasapairofgoldeneyesandsheisquiterareBecauseofhereyesshesca...

Great Expectations远大前程读后感

confusionlifestylewascontinueduntilMrsJoediedhewasfeelingtremendousgriefandremorseSeveralyearsgobyMagwitchthecrimew...

A_Review_of_A_Christmas_Carol《圣诞颂歌》读后感(英文)

TheReportonAChristmasCarolAChristmasCarolaninterestingandattractivenoveliswrittenbyCharlesDickensThewholestoryisabo...

The Cop and the Anthem警察与赞美诗读后感

TheCopandtheAnthemTheCopandtheAnthemisoneofOHenry39srepresentativeworksOHenryisoneofthemostfamousAmericancriticalre...

diogenes and alexander读后感(13篇)