# RedisConnect
**Repository Path**: liteJava/redisconnect
## Basic Information
- **Project Name**: RedisConnect
- **Description**: 基于C++11实现的简单易用的Redis客户端
- **Primary Language**: C++
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 27
- **Created**: 2020-10-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# RedisConnect介绍
#### 1、RedisConnect是基于C++11实现的简单易用的Redis客户端。
#### 2、源码只包含一个头文件与一个命令行工具源文件,无需编译安装,真正做到零依赖。
#### 3、自带连接池功能,调用Setup方法初始化连接池,然后执行Instance方法就可以获取一个连接。
#### 4、RedisConnect包装了常用的redis命令,对于未包装的命令你可以使用可变参模板方法(execute)进行调用。
# 安装方法
#### 1、下载源码
##### git clone https://gitee.com/xungen/redisconnect.git
#### 2、直接在工程中包含RedisConnect.h头文件即可(示例代码如下)
```
#include "RedisConnect.h"
int main(int argc, char** argv)
{
string val;
//初始化连接池
RedisConnect::Setup("127.0.0.1", 6379, "password");
//从连接池中获取一个连接
shared_ptr redis = RedisConnect::Instance();
//设置一个键值
redis->set("key", "val");
//获取键值内容
redis->get("key", val);
//执行expire命令设置超时时间
redis->execute("expire", "key", 60);
//获取超时时间(与ttl(key)方法等价)
redis->execute("ttl", "key");
//调用getStatus方法获取ttl命令执行结果
printf("超时时间:%d\n", redis->getStatus());
//执行del命令删除键值
redis->execute("del", "key");
//获取分布式锁
if (redis->lock("lockey"))
{
puts("获取分布式锁成功");
//释放分布式锁
if (redis->unlock("lockey"))
{
puts("释放分布式锁成功");
}
}
return 0;
}
```
#### 3、RedisConnect自带一个命令行客户端工具
##### 直接在源码目录执行make命令就可完成客户端工具的编译,工具名称为redis,使用工具前你需要设置以下环境变量,然后将redis程序复制到系统/usr/bin目录下
```
# redis服务地址与端口
export REDIS_HOST=127.0.0.1:6379
# redis连接的认证密码(为空说明无需认证)
export REDIS_PASSWORD=password
```
##### 设置好上面的环境变量你可以使用redis客户端,使用方法如下
```
# 设置一个键值
redis set key val
# 获取指定键值
redis get key
# 设置有效时间
redis expire key 60
# 获取有效时间
redis ttl key
```