php和redis,用phpredis操作redis集群支持publish和subscribe吗

php和redis目录

php连接redis数据库是否需要安装专用软件包

用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篇优秀随机文章)

来源:本文由易搜IT培训资讯原创撰写,欢迎分享本文,转载请保留出处和链接!