开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 130

huifeng/cppweb

forked from 寻根/cppweb
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
cppweb
/
cppshell
/
redis.cpp
cppweb
/
cppshell
/
redis.cpp
redis.cpp 3.20 KB
一键复制 编辑 原始数据 按行查看 历史
寻根 提交于 2020年09月05日 12:22 +08:00 . cppweb.1.0.0版本
#include <stdx/all.h>
#include <dbx/RedisConnect.h>
/*服务端口*/
int PORT = 6379;
/*连接超时*/
int TIMEOUT = 3000;
/*服务地址*/
const char* HOST = NULL;
/*验证密码*/
const char* PASSWD = NULL;
/*********************************************************************************/
const char* GetCmdParam(int idx)
{
return Process::GetCmdParam(idx);
}
const char* GetCmdParam(const char* param)
{
string name = param;
const char* key = Process::GetCmdParam(param);
if (key == NULL) key = Process::GetCmdParam(stdx::toupper(name).c_str());
if (key == NULL) key = Process::GetCmdParam(stdx::tolower(name).c_str());
return key;
}
int main(int argc, char** argv)
{
Process::Instance(argc, argv);
static string ehost = Process::GetEnv("REDIS_HOST");
static string epass = Process::GetEnv("REDIS_PASSWORD");
string val;
RedisConnect redis;
const char* ptr = NULL;
const char* cmd = GetCmdParam(1);
const char* key = GetCmdParam(2);
const char* field = GetCmdParam(3);
if (HOST == NULL) HOST = ehost.c_str();
if (PASSWD == NULL) PASSWD = epass.c_str();
if (ptr = strchr(HOST, ':'))
{
static string host(HOST, ptr);
PORT = stdx::atoi(ptr + 1);
HOST = host.c_str();
}
if (HOST == NULL || *HOST == 0) HOST = "127.0.0.1";
if (redis.connect(HOST, PORT, TIMEOUT))
{
if (PASSWD && *PASSWD)
{
if (redis.auth(PASSWD) < 0)
{
ColorPrint(eRED, "REDIS[%s][%d]验证失败\n", HOST, PORT);
return XG_SYSERR;
}
}
if (cmd == NULL)
{
ColorPrint(eRED, "%s\n", "请输入要执行的命令");
return XG_FAIL;
}
int res = 0;
string tmp = cmd;
stdx::toupper(tmp);
if (tmp == "DELS" && key && *key)
{
vector<string> vec;
if (redis.keys(vec, key) > 0)
{
if (cmdx::CheckCommand("确认要删除键值[%s]?", key))
{
ColorPrint(eWHITE, "%s\n", "--------------------------------------");
for (int i = 0; i < vec.size(); i++)
{
if (redis.del(vec[i]))
{
ColorPrint(eGREEN, "删除键值[%s]成功\n", vec[i].c_str());
}
else
{
ColorPrint(eRED, "删除键值[%s]失败\n", vec[i].c_str());
}
}
ColorPrint(eWHITE, "%s\n\n", "--------------------------------------");
}
}
else
{
ColorPrint(eRED, "删除键值[%s]失败\n", key);
}
}
else
{
int idx = 1;
RedisConnect::Command request;
while (true)
{
const char* data = GetCmdParam(idx++);
if (data == NULL) break;
request.add(data);
}
if ((res = redis.execute(request)) >= 0)
{
ColorPrint(eWHITE, "执行命令[%s]成功[%d][%d]\n", cmd, res, redis.getStatus());
const vector<string>& vec = request.getDataList();
if (vec.size() > 0)
{
ColorPrint(eWHITE, "%s\n", "--------------------------------------");
for (const string& msg : vec)
{
ColorPrint(eGREEN, "%s\n", msg.c_str());
}
ColorPrint(eWHITE, "%s\n", "--------------------------------------");
ColorPrint(eWHITE, "共返回%d条记录\n\n", vec.size());
}
}
else
{
ColorPrint(eRED, "执行命令[%s]失败[%d][%s]\n", cmd, res, redis.getErrorString().c_str());
}
}
}
else
{
ColorPrint(eRED, "REDIS[%s][%d]连接失败\n", HOST, PORT);
}
return 0;
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

基于C++开发的WEB服务器,支持C/C++、Python、Java等多语言混合开发WEB应用。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/huifeng_github/cppweb.git
git@gitee.com:huifeng_github/cppweb.git
huifeng_github
cppweb
cppweb
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /