History log of /redis-3.2.3/src/db.c (Results 1 – 25 of 162)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 8.0-m02, 6.2.16, 7.2.6, 7.4.1, 8.0-m01, 7.4.0, 7.4-rc2, 7.4-rc1, 7.2.5, 7.2.4, 7.0.15, 7.2.3, 7.2.2, 7.0.14, 6.2.14, 6.2.15, 7.2.1, 7.0.13, 7.2.0, 7.2-rc3, 7.0.12, 6.2.13, 6.0.20, 7.2-rc2, 6.0.19, 6.2.12, 7.0.11, 7.2-rc1, 7.0.10, 7.0.9, 6.2.11, 6.0.18, 6.2.10, 6.0.17, 6.2.9, 7.0.8, 7.0.7, 7.0.6, 6.2.8, 7.0.5, 7.0.4, 7.0.3, 7.0.2, 7.0.1, 7.0.0, 6.2.7, 7.0-rc3, 7.0-rc2, 7.0-rc1, 6.2.6, 6.0.16, 5.0.14, 5.0.13, 6.0.15, 6.2.5, 6.0.14, 6.2.4, 6.2.3, 6.0.13, 6.2.2, 6.2.1, 6.0.12, 5.0.12, 6.0.11, 6.2.0, 5.0.11, 6.2-rc3, 6.0.10, 6.2-rc2, 6.2-rc1, 6.0.9, 5.0.10, 6.0.8, 6.0.7, 6.0.6, 6.0.5, 6.0.4, 6.0.3, 6.0.2, 6.0.1, 6.0.0, 5.0.9, 6.0-rc4, 6.0-rc3, 5.0.8, 6.0-rc2, 6.0-rc1, 5.0.7, 5.0.6, 5.0.5, 3.2.13, 4.0.14, 5.0.4, 4.0.13, 5.0.3, 4.0.12, 5.0.2, 5.0.1, 5.0.0, 5.0-rc6, 5.0-rc5, 4.0.11, 5.0-rc4, 5.0-rc3, 5.0-rc2, 4.0.10, 3.2.12, 5.0-rc1, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 3.2.11, 4.0.2, 3.2.10, 4.0.1, 4.0.0, 3.2.9, 4.0-rc3, 3.2.8, 3.2.7, 3.2.6, 4.0-rc2, 4.0-rc1, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1
# b23aa670 14-Jun-2016 antirez <[email protected]>

TTL and TYPE LRU access fixed. TOUCH implemented.


Revision tags: 3.2.0
# cfc08b65 25-Apr-2016 Oran Agra <[email protected]>

various cleanups and minor fixes


Revision tags: 3.2.0-rc3, 3.0.7, 3.2.0-rc2, 3.2-rc1, 3.0.6, 2.8.24
# 00353f99 11-Dec-2015 antirez <[email protected]>

MIGRATE: Fix key extraction for new form.


Revision tags: 3.0.5, 2.8.23
# 4fec5ee1 14-Sep-2015 antirez <[email protected]>

MOVE re-add TTL check fixed.

getExpire() returns -1 when no expire exists.

Related to #2765.


# f529a01c 14-Sep-2015 antirez <[email protected]>

MOVE now can move TTL metadata as well.

MOVE was not able to move the TTL: when a key was moved into a different
database number, it became persistent like if PERSIST was used.

In some incredible w

MOVE now can move TTL metadata as well.

MOVE was not able to move the TTL: when a key was moved into a different
database number, it became persistent like if PERSIST was used.

In some incredible way (I guess almost nobody uses Redis MOVE) this bug
remained unnoticed inside Redis internals for many years.
Finally Andy Grunwald discovered it and opened an issue.

This commit fixes the bug and adds a regression test.

Close #2765.

show more ...


Revision tags: 2.8.22, 3.0.4
# 32f80e2f 27-Jul-2015 antirez <[email protected]>

RDMF: More consistent define names.


# 40eb548a 26-Jul-2015 antirez <[email protected]>

RDMF: REDIS_OK REDIS_ERR -> C_OK C_ERR.


# 2d9e3eb1 26-Jul-2015 antirez <[email protected]>

RDMF: redisAssert -> serverAssert.


# 14ff5724 26-Jul-2015 antirez <[email protected]>

RDMF: OBJ_ macros for object related stuff.


# 554bd0e7 26-Jul-2015 antirez <[email protected]>

RDMF: use client instead of redisClient, like Disque.


# cef054e8 26-Jul-2015 antirez <[email protected]>

RDMF (Redis/Disque merge friendlyness) refactoring WIP 1.


Revision tags: 3.0.3
# 4c7ee0d5 13-Jul-2015 antirez <[email protected]>

EXISTS is now variadic.

The new return value is the number of keys existing, among the ones
specified in the command line, counting the same key multiple times if
given multiple times (and if it exi

EXISTS is now variadic.

The new return value is the number of keys existing, among the ones
specified in the command line, counting the same key multiple times if
given multiple times (and if it exists).

See PR #2667.

show more ...


Revision tags: 3.0.2, 2.8.21, 2.8.20, 3.0.1, 3.0.0, 3.0.0-rc6, 3.0.0-rc5
# fc365a3a 23-Feb-2015 antirez <[email protected]>

Change RENAME behavior when src and dst keys are the same.

Fixes issue #2392.


Revision tags: 3.0.0-rc4, 3.0.0-rc3, 3.0.0-rc2, 2.8.19
# 7ef1239b 12-Dec-2014 clark.kang <[email protected]>

remove_warning in db.c


# 06e76bc3 10-Dec-2014 antirez <[email protected]>

Better read-only behavior for expired keys in slaves.

Slaves key expire is orchestrated by the master. Sometimes the master
will send the synthesized DEL to expire keys on the slave with a non
trivi

Better read-only behavior for expired keys in slaves.

Slaves key expire is orchestrated by the master. Sometimes the master
will send the synthesized DEL to expire keys on the slave with a non
trivial delay (when the key is not accessed, only the incremental expiry
algorithm will expire it in background).

During that time, a key is logically expired, but slaves still return
the key if you GET (or whatever) it. This is a bad behavior.

However we can't simply trust the slave view of the key, since we need
the master to be able to send write commands to update the slave data
set, and DELs should only happen when the key is expired in the master
in order to ensure consistency.

However 99.99% of the issues with this behavior is when a client which
is not a master sends a read only command. In this case we are safe and
can consider the key as non existing.

This commit does a few changes in order to make this sane:

1. lookupKeyRead() is modified in order to return NULL if the above
conditions are met.
2. Calls to lookupKeyRead() in commands actually writing to the data set
are repliaced with calls to lookupKeyWrite().

There are redundand checks, so for example, if in "2" something was
overlooked, we should be still safe, since anyway, when the master
writes the behavior is to don't care about what expireIfneeded()
returns.

This commit is related to #1768, #1770, #2131.

show more ...


Revision tags: 2.8.18
# 92c5ab40 02-Dec-2014 antirez <[email protected]>

Use exp format and more precision output for ZSCAN.

Ref: issue #2175


Revision tags: 3.0.0-rc1, 2.8.17, 2.8.16, 2.8.15
# acfc1963 09-Sep-2014 xiaost <[email protected]>

Limit the *SCAN command `dictScan` iterations

*SCAN will cause redis server to hang for seconds
after millions of keys was deleted by SCAN/DEL pairs


Revision tags: 2.8.14
# edca2b14 13-Aug-2014 antirez <[email protected]>

Remove warnings and improve integer sign correctness.


# 498ad748 01-Aug-2014 Matt Stancliff <[email protected]>

Reject MOVE to non-integer DBs

Previously, "MOVE key somestring" would move the key to
DB 0 which is just unexpected and wrong.
String as DB == error.

Test added too.

Modified by @antirez in order

Reject MOVE to non-integer DBs

Previously, "MOVE key somestring" would move the key to
DB 0 which is just unexpected and wrong.
String as DB == error.

Test added too.

Modified by @antirez in order to use the getLongLongFromObject() API
instead of strtol().

Fixes #1428

show more ...


Revision tags: 3.0.0-beta8
# 87815ab5 21-Jul-2014 Matt Stancliff <[email protected]>

Fix key extraction for SORT

We only want to use the last STORE key, but we have to record
we actually found a STORE key so we can increment the final return
key count.

Test added to prevent further

Fix key extraction for SORT

We only want to use the last STORE key, but we have to record
we actually found a STORE key so we can increment the final return
key count.

Test added to prevent further regression.

Closes #1883, #1645, #1647

show more ...


Revision tags: 2.8.13, 3.0.0-beta7
# 95b1979c 26-Jun-2014 antirez <[email protected]>

No more trailing spaces in Redis source code.


Revision tags: 2.8.12, 2.8.11, 3.0.0-beta6, 2.8.10, 3.0.0-beta5, 3.0.0-beta4, 3.0.0-beta3, 2.8.9
# 33f943b4 08-Apr-2014 Matt Stancliff <[email protected]>

Fix blocking operations from missing new lists

Behrad Zari discovered [1] and Josiah reported [2]: if you block
and wait for a list to exist, but the list creates from
a non-push command, the blocke

Fix blocking operations from missing new lists

Behrad Zari discovered [1] and Josiah reported [2]: if you block
and wait for a list to exist, but the list creates from
a non-push command, the blocked client never gets notified.

This commit adds notification of blocked clients into
the DB layer and away from individual commands.

Lists can be created by [LR]PUSH, SORT..STORE, RENAME, MOVE,
and RESTORE. Previously, blocked client notifications were
only triggered by [LR]PUSH. Your client would never get
notified if a list were created by SORT..STORE or RENAME or
a RESTORE, etc.

Blocked client notification now happens in one unified place:
- dbAdd() triggers notification when adding a list to the DB

Two new tests are added that fail prior to this commit.

All test pass.

Fixes #1668

[1]: https://groups.google.com/forum/#!topic/redis-db/k4oWfMkN1NU
[2]: #1668

show more ...


# 6baac558 14-May-2014 antirez <[email protected]>

Cluster: better handling of stolen slots.

The previous code handling a lost slot (by another master with an higher
configuration for the slot) was defensive, considering it an error and
putting the

Cluster: better handling of stolen slots.

The previous code handling a lost slot (by another master with an higher
configuration for the slot) was defensive, considering it an error and
putting the cluster in an odd state requiring redis-cli fix.

This was changed, because actually this only happens either in a
legitimate way, with failovers, or when the admin messed with the config
in order to reconfigure the cluster. So the new code instead will try to
make sure that the keys stored match the new slots map, by removing all
the keys in the slots we lost ownership from.

The function that deletes the keys from the lost slots is called only
if the node does not lose all its slots (resulting in a reconfiguration
as a slave of the node that got ownership). This is an optimization
since the replication code will anyway flush all the instance data in
a faster way.

show more ...


# 8827dc4e 17-Apr-2014 antirez <[email protected]>

Always pass sorted set range objects by reference.


# 83d28303 10-Apr-2014 Matt Stancliff <[email protected]>

Check key expiration before deleting

Deleting an expired key should return 0, not success.

Fixes #1648


1234567