php - 仅前缀 redis session key

标签 php session redis predis

有没有办法在整个应用程序中使用一个 Predis 客户端连接,但只为 session key 添加前缀?

Predis 库只允许通过设置选项参数 when instantiating a client object 来定义键前缀:

$sessionClient = new Predis\Client($config, array('prefix' => 'session-'));

我在一个 Redis 实例中存储的不仅仅是 session 。因此,要存储不带前缀的其他值,我认为这会起作用:

$client = new Predis\Client($config);

但是键仍然有前缀。我假设 Predis 正在跨客户端实例共享连接和选项。那么一个前缀怎么能只是 session key 呢?

最佳答案

找到 a related issue on Github作者回复说不支持。

Predis\Session\SessionHandler accepts a client instance only for the sake of injection, but you shouldn't really reuse that client for anything else... Obviously, for very specific scenarios nothing stops you from writing your own session handler.

关于php - 仅前缀 redis session key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44308809/

相关文章:

php - 比较多个不同的日期并在 PHP 中获取平均值

php - 在 Laravel 中生成随机数

php - 语法错误,意外的 T_ENCAPSED_AND_WHITESPACE,需要 T_STRING 或 T_VARIABLE 或 T_NUM_STRING

docker - Webserver 无法通过 docker-compose 连接到 Redis

redis - 是否可以在 rejson 数组中使用 LRANGE?

ruby-on-rails - 将 Redis 与 Ruby on Rails 结合使用

javascript - Google 可视化 PHP 和 Javascript

javascript - AngularJS-从网站注销不起作用

java - Spring 中 session 过期的监听器

php - Symfony 2 和遗留应用程序的自定义 session 变量