diff --git a/src/redis.h b/src/redis.h index 70d20db47..8a7a47fda 100644 --- a/src/redis.h +++ b/src/redis.h @@ -869,6 +869,7 @@ int ll2string(char *s, size_t len, long long value); int isStringRepresentableAsLong(sds s, long *longval); int isStringRepresentableAsLongLong(sds s, long long *longval); int isObjectRepresentableAsLongLong(robj *o, long long *llongval); +long long ustime(void); /* Configuration */ void loadServerConfig(char *filename); diff --git a/src/util.c b/src/util.c index e304ff839..ef9b901fd 100644 --- a/src/util.c +++ b/src/util.c @@ -1,6 +1,7 @@ #include "redis.h" #include #include +#include /* Glob-style pattern matching. */ int stringmatchlen(const char *pattern, int patternLen, @@ -241,3 +242,14 @@ int isObjectRepresentableAsLongLong(robj *o, long long *llongval) { return isStringRepresentableAsLongLong(o->ptr,llongval); } } + +/* Return the UNIX time in microseconds */ +long long ustime(void) { + struct timeval tv; + long long ust; + + gettimeofday(&tv, NULL); + ust = ((long long)tv.tv_sec)*1000000; + ust += tv.tv_usec; + return ust; +}