minetestmapper/db-redis.h
Christophe Le Roy fabde97847 DBRedis: add HMGET
Redis HMGET command allows to query multiple fields in the same request.
Limit to a maximum of DB_REDIS_HMGET_NUMKEYS fields per HMGET request.
2016-10-21 20:36:21 +02:00

26 lines
570 B
C++

#ifndef DB_REDIS_HEADER
#define DB_REDIS_HEADER
#include "db.h"
#include <hiredis.h>
class DBRedis : public DB {
public:
DBRedis(const std::string &mapdir);
virtual std::vector<BlockPos> getBlockPos();
virtual void getBlocksOnZ(std::map<int16_t, BlockList> &blocks, int16_t zPos);
virtual ~DBRedis();
private:
static std::string replyTypeStr(int type);
void loadPosCache();
void HMGET(const std::vector<BlockPos> &positions, std::vector<ustring> *result);
std::vector<BlockPos> posCache;
redisContext *ctx;
std::string hash;
};
#endif // DB_REDIS_HEADER