mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 09:17:20 +00:00
abcb223ec0
$ make cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g adlist.c cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g ae.c cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g anet.c cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g dict.c cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g redis.c cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g sds.c cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g zmalloc.c cc -o redis-server -O2 -Wall -W -DSDS_ABORT_ON_OOM -g adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o Hint: To run the test-redis.tcl script is a good idea. Launch the redis server with ./redis-server, then in another terminal window enter this directory and run 'make test'. cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g benchmark.c cc -o redis-benchmark -O2 -Wall -W -DSDS_ABORT_ON_OOM -g ae.o anet.o benchmark.o sds.o adlist.o zmalloc.o cc -c -O2 -Wall -W -DSDS_ABORT_ON_OOM -g redis-cli.c cc -o redis-cli -O2 -Wall -W -DSDS_ABORT_ON_OOM -g anet.o sds.o adlist.o redis-cli.o zmalloc.o $ tail -1 redis.conf $ ./redis-server redis.conf & [1] 52494 $ - Server started, Redis version 0.08 - DB loaded from disk - The server is now ready to accept connections on port 6379 . 0 clients connected (0 slaves), 1932 bytes in use $ make test tclsh test-redis.tcl DEL all keys to start with a clean DB . Accepted 127.0.0.1:54490 PASSED SET and GET an item PASSED DEL against a single item PASSED KEYS with pattern PASSED KEYS to get all keys PASSED DBSIZE PASSED DEL all keys PASSED Very big payload in GET/SET PASSED SET 10000 numeric keys and access all them in reverse order . DB 0: 10001 keys in 16384 slots HT. . 1 clients connected (0 slaves), 4885707 bytes in use PASSED DBSIZE should be 10001 now PASSED INCR against non existing key PASSED INCR against key created by incr itself PASSED INCR against key originally set with SET PASSED SETNX target key missing PASSED SETNX target key exists PASSED EXISTS PASSED Zero length value in key. SET/GET/EXISTS PASSED Commands pipelining PASSED Non existing command PASSED Basic LPUSH, RPUSH, LLENGTH, LINDEX PASSED DEL a list PASSED Create a long list and check every single element with LINDEX PASSED Test elements with LINDEX in random access PASSED LLEN against non-list value error PASSED LINDEX against non-list value error PASSED LPUSH against non-list value error PASSED RPUSH against non-list value error PASSED RENAME basic usage PASSED RENAME source key should no longer exist PASSED RENAME against already existing key PASSED RENAMENX basic usage PASSED RENAMENX against already existing key PASSED RENAMENX against already existing key (2) PASSED RENAME against non existing source key PASSED RENAME where source and dest key is the same PASSED DEL all keys again (DB 0) PASSED DEL all keys again (DB 1) PASSED MOVE basic usage PASSED MOVE against key existing in the target DB PASSED SET/GET keys in different DBs PASSED Basic LPOP/RPOP PASSED LPOP/RPOP against empty list PASSED LPOP against non list value PASSED Mass LPUSH/LPOP PASSED LRANGE basics PASSED LRANGE inverted indexes PASSED LRANGE out of range indexes including the full list PASSED LRANGE against non existing key PASSED LTRIM basics PASSED LSET PASSED LSET out of range index PASSED LSET against non existing key PASSED LSET against non list value PASSED SADD, SCARD, SISMEMBER, SMEMBERS basics PASSED SADD adding the same element multiple times PASSED SADD against non set PASSED SREM basics PASSED Mass SADD and SINTER with two sets PASSED SINTERSTORE with two sets PASSED SINTER against three sets PASSED SINTERSTORE with three sets PASSED SAVE - make sure there are all the types as values - DB saved on disk PASSED Create a random list . DB 0: 6057 keys in 16384 slots HT. . DB 1: 3 keys in 16 slots HT. . 1 clients connected (0 slaves), 1045147 bytes in use PASSED SORT with BY against the newly created list PASSED SORT direct, numeric, against the newly created list PASSED SORT decreasing sort PASSED SORT speed, sorting 10000 elements list using BY, 100 times Average time to sort: 5.28 milliseconds PASSED SORT speed, sorting 10000 elements list directly, 100 times Average time to sort: 1.53 milliseconds PASSED SORT speed, pseudo-sorting 10000 elements list, BY <const>, 100 times Average time to sort: 0.47 milliseconds PASSED SORT regression for issue #19, sorting floats - DB saved on disk PASSED LREM, remove all the occurrences - DB saved on disk PASSED LREM, remove the first occurrence PASSED LREM, remove non existing element PASSED LREM, starting from tail with negative count - DB saved on disk PASSED LREM, starting from tail with negative count (2) PASSED MGET - DB saved on disk PASSED MGET against non existing key PASSED MGET against non-string key PASSED FLUSHALL - DB saved on disk PASSED 79 tests, 79 passed, 0 failed . Client closed connection . 0 clients connected (0 slaves), 1347660 bytes in use $ kill -15 %1 [1]+ Terminated ./redis-server redis.conf $ vim redis.conf $ tail -1 redis.conf requirepass foobared $ ./redis-server redis.conf & [1] 52518 $ - Server started, Redis version 0.08 - DB loaded from disk - The server is now ready to accept connections on port 6379 . 0 clients connected (0 slaves), 1945 bytes in use $ make test tclsh test-redis.tcl . Accepted 127.0.0.1:54492 DEL all keys to start with a clean DB ERR operation not permitted while executing "::redis::redis_read_reply $fd" (procedure "::redis::__dispatch__" line 13) invoked from within "$r keys *" ("uplevel" body line 2) invoked from within "uplevel 1 $code" (procedure "test" line 4) invoked from within "test {DEL all keys to start with a clean DB} { foreach key [$r keys *] {$r del $key} $r dbsize } {0}" (procedure "main" line 13) invoked from within "main 127.0.0.1 6379" invoked from within "if {[llength $argv] == 0} { main 127.0.0.1 6379 } elseif {[llength $argv] == 1 && [lindex $argv 0] eq {stress}} { stress } else { main [li..." (file "test-redis.tcl" line 630) . Client closed connection make: *** [test] Error 1 . 0 clients connected (0 slaves), 2041 bytes in use . 0 clients connected (0 slaves), 2041 bytes in use $ kill -15 %1 [1]+ Terminated ./redis-server redis.conf $ vim test-redis.tcl $ git diff test-redis.tcl
86 lines
3.0 KiB
Plaintext
86 lines
3.0 KiB
Plaintext
# Redis configuration file example
|
|
|
|
# By default Redis does not run as a daemon. Use 'yes' if you need it.
|
|
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
|
|
daemonize no
|
|
|
|
# When run as a daemon, Redis write a pid file in /var/run/redis.pid by default.
|
|
# You can specify a custom pid file location here.
|
|
pidfile /var/run/redis.pid
|
|
|
|
# Accept connections on the specified port, default is 6379
|
|
port 6379
|
|
|
|
# If you want you can bind a single interface, if the bind option is not
|
|
# specified all the interfaces will listen for connections.
|
|
#
|
|
# bind 127.0.0.1
|
|
|
|
# Close the connection after a client is idle for N seconds
|
|
timeout 300
|
|
|
|
# Save the DB on disk:
|
|
#
|
|
# save <seconds> <changes>
|
|
#
|
|
# Will save the DB if both the given number of seconds and the given
|
|
# number of write operations against the DB occurred.
|
|
#
|
|
# In the example below the behaviour will be to save:
|
|
# after 900 sec (15 min) if at least 1 key changed
|
|
# after 300 sec (5 min) if at least 10 keys changed
|
|
# after 60 sec if at least 10000 keys changed
|
|
save 900 1
|
|
save 300 10
|
|
save 60 10000
|
|
|
|
# For default save/load DB in/from the working directory
|
|
# Note that you must specify a directory not a file name.
|
|
dir ./
|
|
|
|
# Set server verbosity to 'debug'
|
|
# it can be one of:
|
|
# debug (a lot of information, useful for development/testing)
|
|
# notice (moderately verbose, what you want in production probably)
|
|
# warning (only very important / critical messages are logged)
|
|
loglevel debug
|
|
|
|
# Specify the log file name. Also 'stdout' can be used to force
|
|
# the demon to log on the standard output. Note that if you use standard
|
|
# output for logging but daemonize, logs will be sent to /dev/null
|
|
logfile stdout
|
|
|
|
# Set the number of databases.
|
|
databases 16
|
|
|
|
################################# REPLICATION #################################
|
|
|
|
# Master-Slave replication. Use slaveof to make a Redis instance a copy of
|
|
# another Redis server. Note that the configuration is local to the slave
|
|
# so for example it is possible to configure the slave to save the DB with a
|
|
# different interval, or to listen to another port, and so on.
|
|
|
|
# slaveof <masterip> <masterport>
|
|
|
|
############################### ADVANCED CONFIG ###############################
|
|
|
|
# Glue small output buffers together in order to send small replies in a
|
|
# single TCP packet. Uses a bit more CPU but most of the times it is a win
|
|
# in terms of number of queries per second. Use 'yes' if unsure.
|
|
glueoutputbuf yes
|
|
|
|
# Use object sharing. Can save a lot of memory if you have many common
|
|
# 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.
|
|
shareobjects no
|
|
|
|
# Require clients to issue AUTH <PASSWORD> before processing any other
|
|
# commands. This might be useful in environments in which you do not trust
|
|
# others with access to the host running redis-server.
|
|
#
|
|
# This should stay commented out for backward compatibility and because most
|
|
# people do not need auth (e.g. they run their own servers).
|
|
|
|
#requirepass foobared
|