搜索本站
-
近期文章
文章分类
- Ajax (8)
- Css (4)
- C语言 (1)
- Eclipse (2)
- git (6)
- hadoop (4)
- hbase (3)
- Hibernate (2)
- Java Web (9)
- Javascript (12)
- Linux (18)
- Macos (1)
- Mysql (9)
- Nosql (12)
- Oracle (5)
- Php (47)
- php7升级 (1)
- Python (1)
- Struts2 (4)
- svn (3)
- Uchome (4)
- Wap (2)
- Webservice (2)
- Zendframework (3)
- 公开课 (1)
- 工作总结 (6)
- 心情随笔 (8)
- 扯淡 (1)
- 服务器端 (13)
- 生活 (8)
- 网络基础 (3)
- 错误集锦 (4)
- 默认分类 (24)
文章归档
- 2021 年二月 (1)
- 2017 年三月 (2)
- 2016 年十一月 (1)
- 2016 年八月 (1)
- 2016 年一月 (1)
- 2015 年九月 (9)
- 2015 年八月 (5)
- 2015 年七月 (2)
- 2015 年五月 (1)
- 2015 年四月 (3)
- 2015 年二月 (1)
- 2015 年一月 (3)
- 2014 年十二月 (4)
- 2014 年十一月 (1)
- 2014 年八月 (5)
- 2014 年七月 (3)
- 2014 年五月 (5)
- 2014 年四月 (7)
- 2014 年三月 (2)
- 2014 年二月 (3)
- 2014 年一月 (1)
- 2013 年十二月 (1)
- 2013 年十一月 (10)
- 2013 年八月 (1)
- 2013 年七月 (2)
- 2013 年五月 (3)
- 2013 年三月 (1)
- 2012 年十二月 (2)
- 2012 年十一月 (2)
- 2012 年九月 (1)
- 2012 年八月 (1)
- 2012 年七月 (3)
- 2012 年六月 (1)
- 2012 年五月 (2)
- 2012 年四月 (1)
- 2012 年三月 (10)
- 2012 年二月 (2)
- 2012 年一月 (1)
- 2011 年十一月 (1)
- 2011 年十月 (6)
- 2011 年九月 (8)
- 2011 年八月 (5)
- 2011 年七月 (1)
- 2011 年六月 (5)
- 2011 年五月 (2)
- 2011 年三月 (1)
- 2011 年二月 (10)
- 2011 年一月 (3)
- 2010 年十二月 (4)
- 2010 年十一月 (4)
- 2010 年十月 (2)
- 2010 年九月 (1)
- 2010 年八月 (10)
- 2010 年七月 (7)
- 2010 年六月 (1)
- 2010 年四月 (6)
- 2010 年三月 (3)
- 2010 年二月 (3)
- 2010 年一月 (1)
- 2009 年十二月 (1)
- 2009 年十月 (7)
- 2009 年九月 (15)
- 2009 年八月 (7)
- 2009 年七月 (7)
标签云
近期评论
友情链接
月归档:2012 年七月
CodeIgniter相关配置分析
core/controller 49行 $this->load->initlialize() 包含autoload设置的 加载类 1.active_group 导入database.php 配置文件 active_group =’default’ 如果使用load->database(‘xx’) 指定了key active_group 就为key session类 87行 连接默认数据库 $this->CI->load->database(); active_group default 就会连接default指定的数据库 如果配置文件把active_group 改成ask_ext 则会连接ask_ext 错误。 2.active_record active_record=false CI_DB_driver::insert_string() active_record=true CI_DB_active_record::insert() 也有父类的CI_DB_driver::insert_string() 都调用CI_DB_mysql_driver::_insert()获取最终的sql DB.php 120行 定义类CI_DB 继承CI_DB_active_record 或 CI_DB_driver,CI_DB_active_record 本身继承了CI_DB_driver,mysql_driver.php (CI_DB_mysql_driver)继承 … 继续阅读
Redis应用场景
1.在主页中显示最新的项目列表。 Redis使用的是常驻内存的缓存,速度非常快。LPUSH用来插入一个内容ID,作为关键字存储在列表头部。LTRIM用来限制列表中的项目数最多为5000。如果用户需要的检索的数据量超越这个缓存容量,这时才需要把请求发送到数据库。 list: lpush + ltrim //$r->lTrim($key,0,4999); 2.删除和过滤。 如果一篇文章被删除,可以使用LREM从缓存中彻底清除掉。 list: $r->lRem($key,’find_id’,-2);/从右边删除2个value为find_id的元素 3.排行榜及相关问题。 排行榜(leader board)按照得分进行排序。ZADD命令可以直接实现这个功能,而ZREVRANGE命令可以用来按照得分来获取前100名的用户,ZRANK可以用来获取用户排名,非常直接而且操作容易。 zset: zadd z1 100 aaa zrevrange z1 0 -1 withscores 分数从大到小 zrank z1 aaa 分数从小到大 返回aaa的排名 zincrby z1 5 111 给值为111的元素的score 加5 4.按照用户投票和时间排序。 这就像Reddit的排行榜,得分会随着时间变化。LPUSH和LTRIM命令结合运用,把文章添加到一个列表中。一项后台任务用来获取列表,并重新计算列表的排序,ZADD命令用来按照新的顺序填充生成列表。列表可以实现非常快速的检索,即使是负载很重的站点。 list: lpush … 继续阅读
Redis学习
从网上下了个redis命令参数中文版。照着敲了一遍命令。让后找php的api敲了一遍。 1.string setbit 对key所储存的字符串值,设置或清除指定偏移量上的位(bit)。 setnx setex 2.hash HSET key field value 将哈希表key中的域field的值设为value。 hgetall 结果列表为: key1 val1 key2 val2 ……. hkeys hvals 3.list lpush xx yy 向队列key值 插入值yy lpushx 需要队列存在才能插入成功 lpop blpop rpoplpush brpoplpush ltrim lrange $r->lRem($key,’find’,-2); //从右边删除2个value为find的元素 linsert hot after … 继续阅读