变相怪杰 发表于 2015-2-3 23:38:33

PHP网站制作之Redis 的装置设置装备摆设引见

PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。   

redis 是一个高功能的key-value数据库。 redis的呈现,很大水平抵偿了memcached这类keyvalue存储的缺乏,在部 分场所可以对关系数据库起到很好的增补感化。它供应了Python,Ruby,Erlang,PHP客户端,利用很便利。成绩是这个项目还很新,能够还缺乏够不乱,并且没有在实践的一些大型体系使用的实例。另外,缺少mc中批量get也是对照大的成绩,一直批量获得跟屡次获得的收集开支是纷歧样的。
功能测试了局:
SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,办事器设置装备摆设以下:
Linux 2.6, Xeon X3320 2.5Ghz.
stackoverflow 网站利用 Redis 做为缓存办事器。
装置进程:
Redis是一种初级key-value数据库。它跟memcached相似,不外数据可以耐久化,并且撑持的数据类型很丰厚。有字符串,链表,集 合和有序纠合。撑持在办事器端盘算纠合的并,交和补集(difference)等,还撑持多种排序功效。所以Redis也能够被当作是一个数据布局办事 器。
Redis的一切数据都是保留在内存中,然后不按期的经由过程异步体例保留到磁盘上(这称为“半耐久化形式”);也能够把每次数据变更都写入到一个append only file(aof)外面(这称为“全耐久化形式”)。
1、下载最新版
wget http://redis.谷歌code.com/files/redis-2.0.0-rc4.tar.gz
2、解紧缩
tar redis-2.0.0-rc4.tar.gz
3、装置C/C++的编译组件(非必需)
apt-get install build-essential
4、编译
cd redis-2.0.0-rc4
make
make号令履行完成后,会在以后目次下生本钱个可履行文件,分离是redis-server、redis-cli、redis-benchmark、redis-stat,它们的感化以下:


[*]redis-server:Redis办事器的daemon启动法式
[*]redis-cli:Redis号令行操作东西。固然,你也能够用telnet依据其纯文本协定来操作
[*]redis-benchmark:Redis功能测试东西,测试Redis在你的体系及你的设置装备摆设下的读写功能
[*]redis-stat:Redis形态检测东西,可以检测Redis以后形态参数及延迟情况
在前面会有这几个号令的申明,固然是从网上抄的。。。 5、修正设置装备摆设文件
/etc/sysctl.conf 添加
vm.overcommit_memory=1 刷新设置装备摆设使之失效
sysctl vm.overcommit_memory=1
增补引见:
**假如内存情形对照严重的话,需求设定内核参数:
echo 1 > /proc/sys/vm/overcommit_memory
内核参数申明以下:
overcommit_memory文件指定了内核针对内存分派的战略,其值可所以0、1、2。
0, 暗示内核将反省是不是有足够的可用内存供给用历程利用;假如有足够的可用内存,内存请求答应;不然,内存请求掉败,并把毛病前往给使用历程。
1, 暗示内核答应分派一切的物理内存,而不论以后的内存形态若何。
2, 暗示内核答应分派超越一切物理内存和互换空间总和的内存
**编纂redis.conf设置装备摆设文件(/etc/redis.conf),按需求做出恰当调剂,好比:
daemonize yes #转为守护历程,不然启动时会每隔5秒输入一行监控信息
save 60 1000 #减小改动次数,其实这个可以依据情形停止指定
maxmemory 256000000 #分派256M内存

在咱们胜利装置Redis后,咱们直接履行redis-server便可运转Redis,此时它是依照默许设置装备摆设来运转的(默许设置装备摆设乃至不是后台运 行)。咱们但愿Redis按咱们的请求运转,则咱们需求修正设置装备摆设文件,Redis的设置装备摆设文件就是咱们下面第二个cp操作的redis.conf文件,今朝 它被咱们拷贝到了/usr/local/redis/etc/目次下。修正它就能够设置装备摆设咱们的server了。若何修正?上面是redis.conf的主 要设置装备摆设参数的意义:

[*]daemonize:是不是今后台daemon体例运转
[*]pidfile:pid文件地位
[*]port:监听的端标语
[*]timeout:恳求超不时间
[*]loglevel:log信息级别
[*]logfile:log文件地位
[*]databases:开启数据库的数目
[*]save * *:保留快照的频率,第一个*暗示多长工夫,第三个*暗示履行几何次写操作。在必定工夫内履行必定数目的写操作时,主动保留快照。可设置多个前提。
[*]rdbcompression:是不是利用紧缩
[*]dbfilename:数据快照文件名(只是文件名,不包含目次)
[*]dir:数据快照的保留目次(这个是目次)
[*]appendonly:是不是开启appendonlylog,开启的话每次写操作会记一条log,这会进步数据抗风险才能,但影响效力。
[*]appendfsync:appendonlylog若何同步到磁盘(三个选项,分离是每次写都强迫挪用fsync、每秒启用一次fsync、不挪用fsync守候体系本人同步)

上面是一个略做修正后的设置装备摆设文件内容:
daemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysglueoutputbuf yesshareobjects noshareobjectspoolsize 1024   将下面内容写为redis.conf并保留到/usr/local/redis/etc/目次下
然后在号令行履行:
1 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 便可在后台启动redis办事,这时候你经由过程
1 telnet 127.0.0.1 6379 便可毗连到你的redis办事。
6、启动办事并验证
启动办事器

./redis-server

$redis-server /etc/redis.conf
检查是不是胜利启动
$ ps -efgrep redis   

./redis-cli ping
PONG
7、启动号令行客户端赋值取值

redis-cli set mykey somevalue
./redis-cli get mykey

8、封闭办事

$ redis-cli shutdown   

#封闭指定端口的redis-server

$redis-cli -p 6380 shutdown

9、客户端也能够利用telnet模式毗连。
# telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to dbcache (127.0.0.1).
Escape character is "^]".
set foo 3
bar
+OK
get foo
$3
bar
^]
telnet> quit
Connection closed.

<P style="TEXT-INDENT: 2em">
学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。

愤怒的大鸟 发表于 2015-2-4 04:40:38

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

小女巫 发表于 2015-2-5 15:38:56

兴趣是最好的老师,百度是最好的词典。

简单生活 发表于 2015-2-8 07:56:37

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

不帅 发表于 2015-2-11 09:12:28

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

冷月葬花魂 发表于 2015-3-1 20:32:39

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

兰色精灵 发表于 2015-3-10 23:15:39

基础有没有对学习php没有太大区别,关键是兴趣。

莫相离 发表于 2015-3-13 07:37:47

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

若天明 发表于 2015-3-17 23:11:21

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

透明 发表于 2015-3-19 22:16:54

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

第二个灵魂 发表于 2015-3-26 00:30:08

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

因胸联盟 发表于 2015-4-1 00:10:32

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

飘灵儿 发表于 2015-4-11 21:40:13

本文当是我的笔记啦,遇到的问题随时填充

深爱那片海 发表于 2015-4-12 17:50:43

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

精灵巫婆 发表于 2015-4-13 15:56:08

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

爱飞 发表于 2015-4-25 03:48:27

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

小妖女 发表于 2015-4-26 18:09:38

写的比较杂,因为我也是个新手,不当至于大家多多指正。

再现理想 发表于 2015-5-12 09:50:44

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

飘飘悠悠 发表于 2015-6-11 20:46:28

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

再见西城 发表于 2015-6-14 19:19:21

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
页: [1]
查看完整版本: PHP网站制作之Redis 的装置设置装备摆设引见