小编hup*_*xue的帖子

如何从从另一台机器复制的快照(rdb文件)中恢复redis数据?

我将我的redis快照(dump.rdb文件)转移scp到远程服务器.我需要在这个遥控器上运行一个redis服务器并从dump.rdb文件中恢复数据.我怎样才能做到这一点?

snapshot redis

59
推荐指数
7
解决办法
6万
查看次数

为什么在del键的一半时redis内存使用不会减少

Redis用于保存数据,但它占用大量内存,内存使用率高达52.5%.我在redis中删除了一半的密钥,删除操作的返回代码没问题,但其内存使用率没有降低.

什么原因?提前致谢.

我的操作代码如下:

// save data
m_pReply = (redisReply *)redisCommand(m_pCntxt, "set %b %b", mykey.data(), mykey.size(), &myval, sizeof(myval));
// del data
m_pReply = (redisReply *)redisCommand(m_pCntxt, "del %b", mykey.data(), mykey.size());
Run Code Online (Sandbox Code Playgroud)

redis信息:

redis 127.0.0.1:6979> info
redis_version:2.4.8
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:28799
uptime_in_seconds:1289592
uptime_in_days:14
lru_clock:127925
used_cpu_sys:148455.30
used_cpu_user:38023.92
used_cpu_sys_children:23187.60
used_cpu_user_children:123989.72
connected_clients:22
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:31903334872
used_memory_human:29.71G
used_memory_rss:34414981120
used_memory_peak:34015653264
used_memory_peak_human:31.68G
mem_fragmentation_ratio:1.08
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:177467
bgsave_in_progress:0
last_save_time:1343456339
bgrewriteaof_in_progress:0
total_connections_received:820
total_commands_processed:2412759064
expired_keys:0
evicted_keys:0
keyspace_hits:994257907
keyspace_misses:32760132
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:11672476
vm_enabled:0
role:slave
master_host:192.168.252.103
master_port:6479
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0 …

memory-management redis

18
推荐指数
2
解决办法
1万
查看次数

如何在将包提交给PyPI时修复".pypic中找不到PyPI-test"的问题?

我按照指南如何向PyPI提交包以提交一个包.它抛出了以下错误:


    Traceback (most recent call last):
      File "setup.py", line 27, in 
        'Programming Language :: Python',
      File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
        dist.run_commands()
      File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
        self.run_command(cmd)
      File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
        cmd_obj.run()
      File "/usr/lib/python2.6/site-packages/setuptools/command/register.py", line 9, in run
        _register.run(self)
      File "/usr/lib64/python2.6/distutils/command/register.py", line 33, in run
        self._set_config()
      File "/usr/lib64/python2.6/distutils/command/register.py", line 84, in _set_config
        raise ValueError('%s not found in .pypirc' % self.repository)
    ValueError: PyPI-test not found in .pypirc

我的.pypirc文件上下文是:


    [distutils] # this tells distutils what package …

python pip python-2.6 easy-install pypi

18
推荐指数
3
解决办法
4798
查看次数

如何设置redis超时等待redis-py中的管道响应?

在下面的代码中,管道超时是2秒?

client = redis.StrictRedis(host=host, port=port, db=0, socket_timeout=2)
pipe = client.pipeline(transaction=False)
for name in namelist:
    key = "%s-%s-%s-%s" % (key_sub1, key_sub2, name, key_sub3)
    pipe.smembers(key)
pipe.execute()
Run Code Online (Sandbox Code Playgroud)

在redis中,set"key"中有很多成员.它始终返回错误,如下所示:

error Error while reading from socket: ('timed out',)
Run Code Online (Sandbox Code Playgroud)

如果我将socket_timeout值修改为10,则返回ok.
参数"socket_timeout"不是指连接超时吗?但它看起来像响应超时.
redis-py版本是2.6.7.

python pipeline response redis redis-py

8
推荐指数
2
解决办法
2万
查看次数

'localhost'和'127.0.0.1'之间有什么区别?

有一个nginx服务器监听8080端口,telnet使用localhost和127.0.0.1.一个连接,一个连接失败否则.

[test@localhost sbin]$ telnet localhost 8080          
Trying ::1...
telnet: connect to address ::1: Connection refused

[test@localhost sbin]$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

'localhost'和'127.0.0.1'之间有什么区别?为什么localhost连接失败?谢谢!

localhost

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