1. 01 Dec, 2017 28 commits
  2. 30 Nov, 2017 6 commits
    • antirez's avatar
      045d65c3
    • antirez's avatar
      PSYNC2: just store script bodies into RDB. · 452ad2e9
      antirez authored
      Related to #4483. As suggested by @soloestoy, we can retrieve the SHA1
      from the body. Given that in the new implementation using AUX fields we
      ended copying around a lot to create new objects and strings, extremize
      such concept and trade CPU for space inside the RDB file.
      452ad2e9
    • antirez's avatar
      PSYNC2: luaCreateFunction() should handle NULL client parameter. · 28dfdca7
      antirez authored
      See #4483. This is needed because luaCreateFunction() is now called
      from RDB loading code outside a client context.
      28dfdca7
    • antirez's avatar
      PSYNC2: Save Lua scripts state into RDB file. · f11a7585
      antirez authored
      This is currently needed in order to fix #4483, but this can be
      useful in other contexts, so maybe later we may want to remove the
      conditionals and always save/load scripts.
      
      Note that we are using the "lua" AUX field here, in order to guarantee
      backward compatibility of the RDB file. The unknown AUX fields must be
      discarded by past versions of Redis.
      f11a7585
    • antirez's avatar
      Prevent corruption of server.executable after DEBUG RESTART. · 3b9be93f
      antirez authored
      Doing the following ended with a broken server.executable:
      
      1. Start Redis with src/redis-server
      2. Send CONFIG SET DIR /tmp/
      3. Send DEBUG RESTART
      
      At this point we called execve with an argv[0] that is no longer related
      to the new path. So after the restart the absolute path of the
      executable is recomputed in the wrong way. With this fix we pass the
      absolute path already computed as argv[0].
      3b9be93f
    • antirez's avatar
      Be more verbose when DEBUG RESTART fails. · d8f87010
      antirez authored
      d8f87010
  3. 28 Nov, 2017 3 commits
  4. 27 Nov, 2017 3 commits
    • zhaozhao.zz's avatar
      LFU: add hotkeys option to redis-cli · 9f131c9a
      zhaozhao.zz authored
      9f131c9a
    • zhaozhao.zz's avatar
      LFU: do some changes about LFU to find hotkeys · 583c3147
      zhaozhao.zz authored
      Firstly, use access time to replace the decreas time of LFU.
      For function LFUDecrAndReturn,
      it should only try to get decremented counter,
      not update LFU fields, we will update it in an explicit way.
      And we will times halve the counter according to the times of
      elapsed time than server.lfu_decay_time.
      Everytime a key is accessed, we should update the LFU
      including update access time, and increment the counter after
      call function LFUDecrAndReturn.
      If a key is overwritten, the LFU should be also updated.
      Then we can use `OBJECT freq` command to get a key's frequence,
      and LFUDecrAndReturn should be called in `OBJECT freq` command
      in case of the key has not been accessed for a long time,
      because we update the access time only when the key is read or
      overwritten.
      583c3147
    • zhaozhao.zz's avatar
      LFU: change lfu* parameters to int · 53cea972
      zhaozhao.zz authored
      53cea972