]> git.saurik.com Git - redis.git/blobdiff - src/object.c
don't use small shared integer objects when disk store is enabled
[redis.git] / src / object.c
index f4c34dcfd8ab039d2f5801632b5dfff9bff38ae7..a132665e99ce6366e686ba7ca3182b4ba4538cd0 100644 (file)
@@ -32,6 +32,7 @@ robj *createStringObject(char *ptr, size_t len) {
 robj *createStringObjectFromLongLong(long long value) {
     robj *o;
     if (value >= 0 && value < REDIS_SHARED_INTEGERS &&
+        !server.ds_enabled &&
         pthread_equal(pthread_self(),server.mainthread)) {
         incrRefCount(shared.integers[value]);
         o = shared.integers[value];
@@ -214,7 +215,7 @@ robj *tryObjectEncoding(robj *o) {
      * Note that we also avoid using shared integers when maxmemory is used
      * because every object needs to have a private LRU field for the LRU
      * algorithm to work well. */
-    if (server.ds_enabled == 0 &&
+    if (!server.ds_enabled &&
         server.maxmemory == 0 && value >= 0 && value < REDIS_SHARED_INTEGERS &&
         pthread_equal(pthread_self(),server.mainthread))
     {