小编use*_*775的帖子

Redis-获取与正则表达式匹配的键的值

我需要为每个键保存一些具有不同TTL的值。

例如-对于XXXX,值-val1(到期时间:10),val2(到期时间:20)

选项1: 我的最佳做法是:对每个成员的到期时间使用哈希/集。

不幸的是,containers尽管过去多次要求使用此功能,但Redis的(列表,哈希,集合和排序集合)不支持每个成员的有效期。

选项2: 所以我必须做这样的事情:

SETEX XXXX:0 10 val1

SETEX XXXX:1 20 Val2

现在,我想获取所有尚未过期的值,它们的键以XXXX开头。

所以我尝试了这个:

127.0.0.1:6379> keys XXXX:*
1) "XXXX:0"
2) "XXXX:1"
Run Code Online (Sandbox Code Playgroud)

但是我想获取,而不是

选项3:如何做到这一点,而不是将价值放到密钥中:

SETEX XXXX:val1 10 val1
SETEX XXXX:val2 20 val2

127.0.0.1:6379> keys XXXX:*
1) "XXXX:val1"
2) "XXXX:val2"
Run Code Online (Sandbox Code Playgroud)

这将是我最后的选择。我将不得不采取串后:...

任何想法如何使用更好的方法来实现选项1(替代)或至少选项2?

regex key-value ttl redis webdis

6
推荐指数
1
解决办法
7488
查看次数

在发送推送通知后,应用程序卡住了"输入PEM密码短语"

我正在使用apn从node.js App向Apple发送推送通知.

我的代码:

    // send to development****
    var dev_cert_path = path.join(__dirname, '..', 'cert.pem');
    var dev_key_path = path.join(__dirname, '..', 'key.pem');
    var devOptions = { "gateway": "gateway.sandbox.push.apple.com" , "cert": dev_cert_path, "key": dev_key_path, "passphrase":'XXXXX'};


    var devApnConnection = new apn.Connection(devOptions)
    , devMyDevice = new apn.Device(token)
    , devNote = new apn.Notification();

    devNote.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 hour from now.
    devNote.badge = 3;
    devNote.sound = "xxx.aiff";
    devNote.alert = message;
    devNote.payload = {'messageFrom': ''};
    devApnConnection.pushNotification(devNote, devMyDevice);
    var options = {
    "batchFeedback": true, …
Run Code Online (Sandbox Code Playgroud)

certificate apple-push-notifications node.js

5
推荐指数
1
解决办法
2748
查看次数

尽管已安装 Python 模块,但未检测到它们

我有一个旧版本的 Python。然后我卸载了旧版本,并安装了一个新版本 - 2.7.9。

我将 2.7.9 设置为我的全球版本,pyenv但我所有的模块都没有被检测到。它们是在升级之前安装的。现在我卸载了它们并重新安装但仍然无法正常工作......

~/Projects/development$ python
Python 2.7.9 (default, Mar  3 2016, 16:42:45) 
[GCC 4.6.3] on linux2
>>> from github import Github
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named github
Run Code Online (Sandbox Code Playgroud)

他们已经在python升级后重新安装了!尝试再次安装它们,会出现Requirement already meet错误。

~/Projects/development$ pip install PyGithub
Requirement already satisfied (use --upgrade to upgrade): PyGithub in /usr/local/lib/python2.7/dist-packages
Cleaning up...
Run Code Online (Sandbox Code Playgroud)

我能做什么?

~/Projects/development$ pyenv versions
  system
* 2.7.9 (set by /home/user/.pyenv/version)

~/Projects/development$ python
    Python 2.7.9 (default, Mar …
Run Code Online (Sandbox Code Playgroud)

python module python-2.7 pyenv

5
推荐指数
1
解决办法
3788
查看次数