mirror of
https://github.com/redis/redis.git
synced 2026-05-28 04:02:46 -04:00
Merge 24f61169a6 into 30f57f32bd
This commit is contained in:
commit
97123d6dcf
1 changed files with 10 additions and 2 deletions
12
src/object.c
12
src/object.c
|
|
@ -1330,8 +1330,16 @@ size_t kvobjComputeSize(robj *key, kvobj *o, size_t sample_size, int dbid) {
|
|||
}
|
||||
|
||||
size_t kvobjAllocSize(kvobj *o) {
|
||||
/* All kv-objects has at least kvobj header and embedded key */
|
||||
size_t asize = zmalloc_size(kvobjGetAllocPtr(o));
|
||||
debugServerAssert(o->iskvobj);
|
||||
size_t asize = sizeof(kvobj);
|
||||
/* Add metadata size */
|
||||
asize += getNumMeta(o->metabits) * sizeof(uint64_t);
|
||||
/* Add embedded key size */
|
||||
asize += 1; /* embedded key header size */
|
||||
asize += sdsAllocSize(kvobjGetKey(o));
|
||||
/* Add embedded string size */
|
||||
if (o->encoding == OBJ_ENCODING_EMBSTR)
|
||||
asize += sdsAllocSize(o->ptr);
|
||||
|
||||
if (o->type == OBJ_STRING) {
|
||||
asize += stringObjectAllocSize(o);
|
||||
|
|
|
|||
Loading…
Reference in a new issue