随笔分类 - Memcached / Redis
摘要:0X00 测试环境 CentOS 6.6 + Redis 3.2.10 + PHP 7.0.7(+ phpredis 4.1.0) [root@localhost ~]# cat /etc/issue CentOS release 6.6 (Final) Kernel \r on an \m [ro
阅读全文
posted @ 2018-07-21 18:39
nemo20
摘要:原书用 Python 与 Redis 进行交互,我用 PHP 来实现。 首先在 Linux 开启 Redis 服务: 如果显示: 说明 Redis 服务已经开启,端口号 6379 redis.php init_data.php 用于添加案例的数据 vote.php 用于给文章投票,其中文章 id(a
阅读全文
posted @ 2016-06-06 00:25
nemo20
摘要:PHP 的 Memcached 扩展使用了 libmemcached 库提供的 api 与 memcached 服务端进行交互。它同样提供了一个 session 处理器(memcached)。 PHP 的 Memcached 扩展支持 getMulti,setMulti 等方法,而 Memcache
阅读全文
posted @ 2016-02-08 22:52
nemo20
摘要:一、Memcached 存储 Session由于 Memcached 是分布式的内存对象缓存系统,因此可以用来实现 Session 同步:把 Web 服务器中的内存组合起来,成为一个“内存池”,不管是哪个服务器产生的 Sessoin 都可以放到这个“内存池”中,其他的 Web 服务器都可以使用。使用...
阅读全文
posted @ 2015-12-08 00:19
nemo20
摘要:准备工作:① 配置文件 config.php②封装 Memcached 类 hash.class.php,包含普通哈希算法(取模)和一致性哈希算法③ 初始化 Memcached 节点信息init.php④ 减少 Memcached 节点 down.php⑤ 统计命中率statistics.php⑥ ...
阅读全文
posted @ 2015-11-28 01:43
nemo20
摘要:仅仅把 Memcached 服务器集群地址通过一致性哈希转映射在圆环上,可能会出现数据不能均匀地分配给各台 Memcached 服务器。解决方案是引入虚拟节点,就是把每个映射在圆环上的服务器地址(物理节点)转变成更多的(注:关于虚拟节点的个数参考①)虚拟节点。修改Memcached 笔记与总结(6)...
阅读全文
posted @ 2015-11-15 00:50
nemo20
摘要:首先创建一个接口,有 3 个方法:addServer:添加一个服务器到服务器列表中removeServer:从服务器列表中移除一个服务器lookup:在当前的服务器列表中找到合适的服务器存放数据interface distribute{ //在当前的服务器列表中找到合适的服务器存放数据 ...
阅读全文
posted @ 2015-10-11 01:11
nemo20
摘要:普通 Hash 分布算法的 PHP 实现首先假设有 2 台服务器:127.0.0.1:11211 和 192.168.186.129:11211当存储的 key 经过对 2 (2 台服务器)取模运算得出该 key 应该保存到的服务器: '127.0.0.1', 'port' => 11211), ...
阅读全文
posted @ 2015-10-10 00:21
nemo20
摘要:在 wamp 环境下进行测试:WAMPSERVER 2.2(Windows 7 + Apache 2.2.21 + PHP 5.3.10 + memcache 3.0.8 + Memcached 1.4.24)在本地开启 Memcached 服务:简单例子:connect('127.0.0.1', ...
阅读全文
posted @ 2015-10-03 23:07
nemo20
摘要:在 windows 下安装 php-memcache,需要下载编译好的 memcached.dll。要找到可用的 dll 文件,需要根据 php.ini 中的 3 个参数来选择 dll 文件:① Compiler:当前 windows 下的 php 的编译器(这里是 MSVC9 (Visual C+...
阅读全文
posted @ 2015-09-08 23:21
nemo20
摘要:环境:CentOS 6.6 + Apache 2.2.21 + PHP 5.3.10php-memcache 是 php 写的 memcached 的客户端,以扩展的形式发布。对于正在运行的 php,不可能去整体重新编译 php,只能编译扩展。php 扩展编译(的通用方法,以 memcached 扩...
阅读全文
posted @ 2015-09-08 01:38
nemo20
摘要:Memcached 官方网站:http://memcached.org/官网对其的描述是:What is Memcached?Free & open source, high-performance, distributed memory object caching system, generic...
阅读全文
posted @ 2015-08-30 11:45
nemo20
摘要:分页要对列表页进行分页,需要知道:①用户总数 $count② 页大小 $pageSize:用户自定义③ 当前页:$page:GET 方式获取 ④ 总页数:$pageCount = ceil($count / $pageSize)关键是用户总数 $count 的获取:可以采取的方案是,在用户注册时,...
阅读全文
posted @ 2015-07-01 00:41
nemo20
摘要:1. PHP 连接 Redis访问 redis 官方网站的 client 栏目:http://www.redis.io/clients#php,可以获取 redis 的 php 扩展。其中 phpredis 扩展比较稳定,功能也比较全,属于一个第三方扩展,但是已经被 PHP 官方授权,它的方法名和客...
阅读全文
posted @ 2015-06-29 20:25
nemo20
摘要:3.事务处理redis 对事务的支持目前还比较简单。 redis 只能保证一个 client 发起的事务中的命令可以连续的执行,而中间不会插入其他 client 的命令。 由于 redis 是单线程来处理所有 client 的请求的所以做到这点是很容易的。一般情况下redis 在接受到一个 clie...
阅读全文
posted @ 2015-06-28 15:07
nemo20
摘要:Redis 提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在 Linux 终端使用。1. 键值相关命令;2. 服务器相关命令键值相关命令① keys 命令返回满足给定 pattern 的所有 key。【例】127.0.0.1:6379> keys * 1) "time" 2) "li...
阅读全文
posted @ 2015-06-27 13:42
nemo20
摘要:(一)set 类型set 是集合是 string 类型的无序集合。 set 元素最大可以包含(2 的 32 次方)个元素。set 的是通过 hash table 实现的,所以添加、删除和查找的复杂度都是O(1)。 hash table 会随着添加或者删除自动的调整大小。需要注意的是调整 hash t...
阅读全文
posted @ 2015-06-25 23:28
nemo20
摘要:redis 版本[root@localhost ~]# redis-server --version Redis server v=2.8.19 sha=00000000:0 malloc=jemalloc-3.6.0 bits=32 build=e2559761bd460ca0list 是一个链表...
阅读全文
posted @ 2015-06-22 11:37
nemo20
摘要:Linux 版本信息:cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)CentOS release 6.6 (Final)(一)String 类型【定义】string 是最简单的类型,你可以理解成与 Memcached 是一...
阅读全文
posted @ 2015-06-21 23:24
nemo20
摘要:NoSQL 使用场景:1.对数据高并发读写2.对海量数据的高效率存储和访问3.对数据的高可扩展性和高可用性Redis 通常被称为数据结构服务器,因为键可以包含字符串(strings)、哈希(hashes)、链表(lists)、集合(sets)和有序集合(sorted sets)。链表可以做成栈(先进...
阅读全文
posted @ 2015-05-04 22:50
nemo20
浙公网安备 33010602011771号