Redis ACL之redis_string类分析介绍(一)
来源:互联网 发布:html数据展示样式 编辑:程序博客网 时间:2024/05/21 22:51
初识ACL库。
今天查看redis_string类包含哪些常用操作;
初始化
redis_string有三个构造函数分别为
redis_string(void);redis_string(redis_client *conn);redis_string(reids_client_cluster * cluster, size_t max_conns=0);
与Redis string类型对应的简单命令函数
bool set(const char* key, const char* value);//设置键值bool set(const char* key, size_t key_len, const char* value, size_t value_len);/***@timeout为存活时间(秒)**/bool setex(const char* key, const char* value, int timeout);bool setex(const char* key, size_t key_len, const char* value, size_t value_len, int timeout);/***@timeout为存活时间(毫秒)**/bool psetex(const char* key, const char* value, int timeout);bool psetex(const char* key, size_t key_len, const char* value, size_t value_len, int timeout);/***return {int}* -1:出错或key非字符串对象* 0:给定对象已经存在* 1:添加成功**/int setnx(const char* key, const char* value);int setnx(const char* key, size_t key_len, const char* value, size_t value_len);/***return {int}* -1:出错或key非字符串对象* 其他:返回当前该字符串的长度**/int append(const char* key, const char* value);int append(const char* key, const char* value, size_t size); /***@param buff{string&} 操作成功后存储字符串对象的值**/bool get(const char* key, string &buf);bool get(const char* key, size_t len, string & buf);/***return {int}* 返回key所关联的字符串值,当返回的字符串比较大时,内部会自动进行分* 分片,将一个大内存切成一些非连续的小内存,使用者想要根据返回的结果* 数据进行组装,比如可以调用:redis_result::get(size_t, size_t*)* 函数获得某个分片数据,根据redis_result::get_size()获得分片数组长度???**/const redis_result* get(const char* key);const redis_result* get(const char* key, size_t len);bool getset(const char* key, const char* value, string& buf);bool getset(const char* key, size_t key_len, const char* value, size_t value_len, string& buf);/***return {int}* -1:出错或key非字符串对象* 0:该key不存在* >0:该字符串的长度**/int get_strlen(const char* key);int get_strlen(const char* key, size_t key_len);/*** 用value参数覆写给定的key所存储字符串值,从偏移量offset开始,不存在* 当空白字符处理。* @param offset{unsigned} 偏移量* return {int}* 修改后字符串对象的数据长度**/int setrange(const char* key, unsigned offset, const char* value);int setrange(const char* key, size_t key_len, unsigned offset, coonst char* value, size_t value_len);bool getrange(const char* key, int start, int end, string& buf);bool getrange(const char* key, size_t key_len, int start, int end, string& buf);bool mset(const std::map<string, string>& objs);bool mset(const std::vector<string>& keys, const std::vector<string>& values);bool mset(const char* keys[], const char* values[], size_t argc);bool mset(const char* keys[], const size_t keys_len[], const char* values[], const size_t values_len[], size_t argc);/***return {int}* -1:出错或key非字符串对象* 0:没有被添加,因为有些keys已经存在* 1:添加成功**/int msetnx(const std::map<string, string>& objs);int msetnx(const std::vector<string>& keys, const std::vector<string>& values);int mset(const char* keys[], const char* values[], size_t argc);int mset(const char* keys[], const size_t keys_len[], const char* values[], const size_t values_len[], size_t argc[]);bool mget(const std::vector<string>& keys, std::vector<string>* out=NULL);bool mget(const std::vector<const char*>& keys, std::vector<sting>* out=NULL);bool mget(std::vector<string>* result, const char* first_key, ...);bool mget(const char* keys[], size_t argc, std::vector<string>* out=NULL);bool mget(const char* keys[], const size_t keys_len[], size_t argc, std::vector<string>* out=NULL);bool incr(const char* key, long long int* result=NULL);/*** 1)如果key不存在,那么key的值会先被初始化为0,然后再执行incrby命令* 2)如果值包含错误的类型,或字符串类型的值不能Wie数字,那么返回一个错误* 3)本操作的值限制在64为(bit)有符号数字表示之内* @param result{long long int} 非空时存储操作结果**/bool incrby(const char* key, long long int inc, long long int* result=NULL);/*** 1)如果key不存在,那么key的值会先被初始化为0,然后再执行incrby命令* 2)如果命令执行成功,那么key的值会被更新为新值,并且新值会以字符串的* 形式返回给调用者* 3)技术结构也最多只能表示小数点的后十七位* @param result{long long int} 非空时存储操作结果**/bool incrbyfloat(const char* key, double inc, double* result=NULL);decr(const char* key, long long int* result=NULL);
0 0
- Redis ACL之redis_string类分析介绍(一)
- Redis ACL之redis_set类分析介绍
- bluedroid源码分析之ACL包发送和接收(一)
- (一)redis学习------redis介绍
- redis(一)--- 简单介绍redis
- scrapy-redis介绍(一)
- redis 一(nosql介绍)
- Floodlight源码阅读之TreeMap存储ACL(一)
- redis源码分析之数据结构(一)链表adlist.c
- DNS BIND之ACL、View、ZONE介绍
- 管中窥豹之Redis源码分析<一>
- redis源码分析(一)
- Redis 源码分析(一)
- acl介绍
- ACL权限实例讲解之基础一
- Linux 之acl好文章收录(一)
- Live555 分析(一):类介绍
- ACL(一)
- 题目1376:最近零子序列
- Android仿微信朋友圈,全文收起功能,附源码
- Java正则表达式
- HTML文档声明
- 关于TabLayout和ViewPager联动不显示文字
- Redis ACL之redis_string类分析介绍(一)
- 实现读写分离的Web工程【申明:来源于网络】
- linux系统的编辑器vim、vi的操作
- 前端学Markdown
- C# XML配置文件的读写
- Spark统计热榜(JAVA版)
- 对象
- 【Matlab】find函数:用于查询非零元素的行和列标志
- GIT---分支介绍