php和redis,用phpredis操作redis集群支持publish和subscribe吗
用phpredis操作redis集群支持publish和subscribe吗
php yii框架操作redis问题。可以获取到redis对象信息,但是set总是报错。
php连接redis数据库是否需要安装专用软件包
需要。
在PHP中连接Redis数据库,需要安装相应的扩展包。
PHP的Redis扩展提供了与Redis服务器进行通信的功能。
PHP即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。
用phpredis操作redis集群支持publish和subscribe吗
用phpredis操作redis集群支持publish和subscribe
参数可选Redis::MULTI或Redis::PIPELINE. 默认是 Redis::MULTI
Redis::MULTI:将多个操作当成一个事务执行
Redis::PIPELINE:让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证
discard:删除一个事务
返回值
multi(),返回一个redis对象,并进入multi-mode模式,一旦进入multi-mode模式,
以后调用的所有方法都会返回相同的对象,只到exec()方法被调用。
watch, unwatch (代码测试后,不能达到所说的效果)
监测一个key的值是否被其它的程序更改。
如果这个key在watch 和 exec (方法)间被修改,
这个 MULTI/EXEC 事务的执行将失败(return false)
unwatch 取消被这个程序监测的所有key
php yii框架操作redis问题。可以获取到redis对象信息,但是set总是报错。
1.在配置项中定义:
12345SESSION_TYPE => Redis, //session保存类型SESSION_PREFIX => sess_, //session前缀REDIS_HOST => 127.0.0.1 //REDIS服务器地址REDIS_PORT => 6379, //REDIS连接端口号SESSION_EXPIRE => 3600, //SESSION过期时间
2.在ThinkPHPLibraryThinkSessionDriver目录下新建Redis.class.php文件
文件内容如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162<?phpnamespace ThinkSessionDriver;class Redis {// Redis连接对象 private $redis;// Session过期时间 private $expire; /** * 打开方法 * @param type $path * @param type $name * @return type */ public function open($path, $name) { $this->expire = C(SESSION_EXPIRE) ? C(SESSION_EXPIRE) : ini_get(session.gc_maxLifetime); $this->redis = new Redis(); return $this->redis->connect(C(REDIS_HOST), C(REDIS_PORT)); } /** * 关闭 * @return type */ public function close() { return $this->redis->close(); } /** * 读取 * @param string $id * @return type */ public function read($id) { $id = C(SESSION_PREFIX) . $id; $data = $this->redis->get($id); return $data ? $data : ; } /** * 写入 * @param string $id * @param type $data * @return type */ public function write($id, $data) { $id = C(SESSION_PREFIX) . $id; return $this->redis->set($id, $data, $this->expire); } /** * 销毁 * @param string $id */ public function destroy($id) { $id = C(SESSION_PREFIX) . $id; $this->redis->delete($id); } /** * 垃圾回收 * @param type $maxLifeTime * @return boolean */ public function gc($maxLifeTime) { return true; }}
memcached的方法和Redis差不多一样! (随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)