Home > Backend Development > PHP Tutorial > CodeIgniter CI3.0怎么使用redis?

CodeIgniter CI3.0怎么使用redis?

WBOY
Release: 2016-06-06 20:28:21
Original
1457 people have browsed it

config已经配置好了,现在只会在每个method中这么使用,

<code>// 连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$access_token=$redis->get('oauth_access_token');</code>
Copy after login
Copy after login

这样每个方法都要new一次不太好,因为有时要调用好几个function,

看手册是这么用的。但是报错了.

<code>$this->load->driver('cache');
var_dump($this->cache->redis->get("ci_session:932dd5eb64ccbf43ee76bfe378a2710666dd07f9"));</code>
Copy after login
Copy after login

没有静态的方法Redis::get()这么使用的吗?
问下大家是怎么用的?

CodeIgniter CI3.0怎么使用redis?

回复内容:

config已经配置好了,现在只会在每个method中这么使用,

<code>// 连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$access_token=$redis->get('oauth_access_token');</code>
Copy after login
Copy after login

这样每个方法都要new一次不太好,因为有时要调用好几个function,

看手册是这么用的。但是报错了.

<code>$this->load->driver('cache');
var_dump($this->cache->redis->get("ci_session:932dd5eb64ccbf43ee76bfe378a2710666dd07f9"));</code>
Copy after login
Copy after login

没有静态的方法Redis::get()这么使用的吗?
问下大家是怎么用的?

CodeIgniter CI3.0怎么使用redis?

<code>//配置了多个redis的情况
$this->config->load('redis', TRUE, TRUE);
$redis_conf = $this->config->item('redis');
$this->load->driver('cache', array('adapter' => 'redis', 'config' => $redis_conf['redis_config_name']), 'redis_name');

//只配置了默认redis
$this->load->driver('cache', array('adapter' => 'redis'), 'redis_name');
//使用
$this->redis_name->info();</code>
Copy after login

我刚才翻了一下CI 3.0的system,其实CI是把CI放到了cache中来算的,并没有放到system的database中,看来是并没有把redis当数据库看待,仅仅是当作缓存。
至于你提出的地一个问题:
每次都要new一遍,这个我建议你自己写一个redis library,然后单例化,这样就不用每次new了;只有自己写,才能达到自己想要的效果。或者二次开发CI的database core,当然我不建议你这么做。
然后是你的第二个问题,我看了一下ci system的cache类,最后有一个叫做is_supported的方法,我建议你测试一下你的环境中redis扩展是否加载OK。
祝一切顺利。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template