shareobjectspoolsize implemented in reds.conf, in order to control the pool size when object sharing is on

This commit is contained in:
antirez 2009-06-03 16:01:32 +02:00
parent 67d3e950ba
commit e52c65b90a
3 changed files with 17 additions and 0 deletions

1
TODO
View File

@ -29,6 +29,7 @@ AFTER 1.0 stable release
side the type also takes an hash table with key->score mapping, so that when
there is an update we lookup the current score and can traverse the tree.
* BITMAP type
* LRANGE 4 0 should return the same elements as LRANGE 0 4 but in reverse order
FUTURE HINTS

View File

@ -1046,6 +1046,11 @@ static void loadServerConfig(char *filename) {
if ((server.shareobjects = yesnotoi(argv[1])) == -1) {
err = "argument must be 'yes' or 'no'"; goto loaderr;
}
} else if (!strcasecmp(argv[0],"shareobjectspoolsize") && argc == 2) {
server.sharingpoolsize = atoi(argv[1]);
if (server.sharingpoolsize < 1) {
err = "invalid object sharing pool size"; goto loaderr;
}
} else if (!strcasecmp(argv[0],"daemonize") && argc == 2) {
if ((server.daemonize = yesnotoi(argv[1])) == -1) {
err = "argument must be 'yes' or 'no'"; goto loaderr;

View File

@ -118,4 +118,15 @@ glueoutputbuf yes
# string in your dataset, but performs lookups against the shared objects
# pool so it uses more CPU and can be a bit slower. Usually it's a good
# idea.
#
# When object sharing is enabled (shareobjects yes) you can use
# shareobjectspoolsize to control the size of the pool used in order to try
# object sharing. A bigger pool size will lead to better sharing capabilities.
# In general you want this value to be at least the double of the number of
# very common strings you have in your dataset.
#
# WARNING: object sharing is experimental, don't enable this feature
# in production before of Redis 1.0-stable. Still please try this feature in
# your development environment so that we can test it better.
shareobjects no
shareobjectspoolsize 1024