行业资讯
📅 2026/7/21 10:37:20
C++客户端---String类型
SET/GET#includeiostream #includevector #includestring #includeunordered_map #includesw/redis.h #includechrono #includethread void test(sw::redis::Redis redis) { //引入命名空间 using namespace std::chrono_literals; redis.flushall(); //没引入命名空间版本 //redis.set(key,111,std::chrono::seconds(10s)); //引入命名空间版本 redis.set(key,111,10s); //std::this_thread::sleep_for(std::chrono::seconds(3s)); std::this_thread::sleep_for(3s); long long time redis.ttl(key); std::couttimestd::endl; } int main() { sw::redis::Redis redis(tcp://127.0.0.1:6379); test(redis); }NX/EX版本#includeiostream #includevector #includestring #includeunordered_map #includesw/redis.h #includechrono #includethread void test(sw::redis::Redis redis) { //引入命名空间 using namespace std::chrono_literals; redis.flushall(); //想写EX/XX版本必须要搭配过期时间来使用想长期存储的话设置时间0s //NX版本 redis.set(key1,111,0s,sw::redis::UpdateType::NOT_EXISTS); //XX版本 redis.set(key1,222,0s,sw::redis::UpdateType::EXISTS); auto value redis.get(key1); if(value) { std::coutvalue.value()std::endl; } else { std::coutkey1不存在std::endl; } } int main() { sw::redis::Redis redis(tcp://127.0.0.1:6379); test(redis); }MSET/MGET#includeiostream #includevector #includestring #includeunordered_map #includesw/redis.h #includechrono #includethread void test(sw::redis::Redis redis) { redis.flushall(); //写法1 redis.mset({std::make_pair(key1,111),std::make_pair(key2,222),std::make_pair(key3,333)}); //写法2 std::vectorstd::pairstd::string,std::string keys {{key1,111},{key2,222},{key3,333}}; redis.mset(keys.begin(),keys.end()); //get方法1 auto value redis.get(key1); if(value) { std::coutvaluevalue.value()std::endl; } auto value redis.get(key2); if(value) { std::coutvaluevalue.value()std::endl; } auto value redis.get(key3); if(value) { std::coutvaluevalue.value()std::endl; } //mget vectorstd::redis::OptionalString result; auto it std::back_inserter(result); redis.mget({key1,key2,key3},it); } int main() { sw::redis::Redis redis(tcp://127.0.0.1:6379); test(redis); }MGET的参数列表GETRANGE/SETRANGEGETRANGE返回值string类型因为该函数即使拿不到子串返回值也就是个空串不会是nilSETRANGE第二个参数从哪一个下标开始覆盖新字符串第三个参数新字符串#includeiostream #includevector #includestring #includeunordered_map #includesw/redis.h #includechrono #includethread void test(sw::redis::Redis redis) { redis.flushall(); redis.set(key,abcdefgh); string result redis.getrange(key,2,5); std::coutresultstd::endl; //返回值long long类型 redis.setrange(key,2,xyz); auto value redis.get(key); std::coutvalue.value()std;;endl; } int main() { sw::redis::Redis redis(tcp://127.0.0.1:6379); test(redis); }INCR DECRINCR#includeiostream #includevector #includestring #includeunordered_map #includesw/redis.h #includechrono #includethread void test(sw::redis::Redis redis) { redis.flushall(); redis.set(key,100); long long result redis.incr(); std::coutresultstd::endl; //返回值long long类型 long long result redis.decr(key); std::coutresultstd;;endl; } int main() { sw::redis::Redis redis(tcp://127.0.0.1:6379); test(redis); }