hiredis

Can we set C int array as a key's value in Redis by hiredis?

回眸只為那壹抹淺笑 提交于 2019-12-21 20:56:04
问题 given : int x[3] = {11,22,33}; how can save it as a key's value as binary data and get it the hiredis give example to how to set binary safestring /* Set a key using binary safe API */ reply = redisCommand(c,"SET %b %b", "bar", (size_t) 3, "hello", (size_t) 5); printf("SET (binary API): %s\n", reply->str); freeReplyObject(reply); but how about other data and how to get ? 回答1: Storing directly binary data in a remote store without any kind of marshalling is a recipe for disaster. I would not

OrangePi 折腾日记:在 Armbian OS 上编译安装 Redis 4

℡╲_俬逩灬. 提交于 2019-12-20 00:28:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 最近折腾了一下自己的 Orange Pi PC,意图使之重新焕发青春活力。 很快,我发现了 Armbian 这一为 ARM 开发板定制的 Debian GNU/Linux 操作系统。官网上有 Orange Pi PC 的 主页 ,并为其提供了 Armbian Stretch (Linux Kernel 4.14) 版本的稳定版镜像( 下载 )。Armbian 推荐使用全平台的 SD 刷写工具 etcher 。并提供了完整的 使用手册 。 开机,root 用户登录,默认密码 1234,根据提示重设用户密码。 本想从软件源中直接安装 redis。不过,先将软件源从 debian 官方切换到 USTC。 deb https://mirrors.ustc.edu.cn/debian stretch main contrib non-free deb https://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free deb https://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-free #deb https://mirrors.ustc.edu.cn

Windows下编译 Redis5.0.5

旧巷老猫 提交于 2019-12-15 14:33:20
先去弄Cygwin环境 http://www.cygwin.com/ 下载完成 打开 下一步 下一步 下一步 下一步 下一步,出现一个界面,让你添加地址,你打开官网,选择mirror sites,点击下面的 Hong Kong( http://mirror-hk.koddos.net/cygwin/ ) 把Hong Kong的地址填上,下一步,出现一个选择包的界面 搜索框里输入文字自动搜索,点击“New”的一列,有个那个下拉按钮,选择版本 还有automake 下一步 下一步 完成 双击桌面上的图标,启动 检查状态和版本 $ cygcheck -c cygwin Cygwin Package Information Package Version Status cygwin 3.0.7-1 OK 检查gcc $ gcc --version gcc (GCC) 7.4.0 Copyright © 2017 Free Software Foundation, Inc. 本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保; 包括没有适销性和某一专用目的下的适用性担保。 检查make $ make --version GNU Make 4.2.1 为 x86_64-unknown-cygwin 编译 Copyright (C) 1988-2016 Free Software

Hiredis installing error using NPM

断了今生、忘了曾经 提交于 2019-12-11 20:49:46
问题 I am having an odd error when attempting to install Hiredis using NPM. I have taken a screenshot and attached it below: I have run into this issue before but cannot find a solution anywhere online. Any help would be greatly appreciated. 来源: https://stackoverflow.com/questions/18092489/hiredis-installing-error-using-npm

Different configurations for features test and rspec

陌路散爱 提交于 2019-12-11 04:12:35
问题 I'm facing a strange issue after updated rails from 4.2 to 5.2. My features test needs following configuration to run config.redis_config = { driver: :hiredis, host: ENV['REDIS_HOST'] || 'redis', port: ENV['REDIS_PORT'] || 6379 } with above config I get error unknow service for model tests which need following configuration config.redis_config = { host: ENV['REDIS_HOST'] || 'redis', port: ENV['REDIS_PORT'] || 6379 } or config.redis_config = { host: ENV['REDIS_HOST'] || 'localhost', port: ENV[

Python连接Redis连接配置

﹥>﹥吖頭↗ 提交于 2019-12-09 23:50:10
# Python连接Redis连接配置 系统环境: OS:Oracle Linux Enterprise 5.6 redis:redis-2.6.8 python:Python-2.7.3 redis的python包版本:redis-2.7.2.tar 前提条件: 1.确保Redis已成功安装并且正确配置,参考文档 2.确保Python环境已成功配置,参考文档 配置python连接redis: 1.安装Redis的Python包: 使用easy-install安装,关于easy-install的配置,参考以上Python环境的搭建。 [root@njdyw bin]# easy_install2.7.3 redis Searching for redis Reading http://pypi.python.org/simple/redis/ Reading http://github.com/andymccurdy/redis-py Best match: redis 2.7.2 Downloading http://pypi.python.org/packages/source/r/redis/redis-2.7.2.tar.gz# md5=17ac60dcf13eb33f82cc25974ab17157 Processing redis-2.7.2.tar.gz

hiredis的一些使用心得

痴心易碎 提交于 2019-12-07 12:15:40
最近公司的一个后台项目使用的cache模块,由于使用的是公司内部开发的一套分布式的系统,系统由于年代比较久远,也已经没有人员进行维护了,出了问题便无人懂得如何维护,也没有相应的文档,便最近想办法使用一个新的cache模块进行替换。 开源的cache服务中,当前属redis比较流行,支持的数据类型也比较丰富,是开源项目中比较成熟的方案,公司内部也有其他团队已经选择了该方案。因此便决定选择该方案作为存储服务。redis的官方访问API推荐使用hiredis,github页面地址:https://github.com/redis/hiredis hiredis的使用方法,在官方页面有说明,这里不在赘述,这里说明一下使用过程中遇到的一些问题。 1、使用前,首先要评估一下自己的总的数据大小。如果单台机器的内存不够的情况下,必须使用多台机器,这就涉及到数据分片的问题。如果使用多台机器,则必须在搭一套redis proxy作为中转。本次项目我使用了公司内部的一个redis proxy组件。开源的redis组件中,有twitter的一个开源项目,大家可以参考一下,地址:https://github.com/twitter/twemproxy。 2、hiredis访问过程中,尽量不要每次都对redis server去建立连接,因为这样非常耗时,通过对server保持一个tcp长连接。另外

Windows下hiredis分布式组件移植

北城余情 提交于 2019-12-07 12:13:52
1. 问题描述 分布式组件项目使用了Redis,在Windows平台使用QT+VS2010编译环境。但Redis客户端库hiredis在Windows平台只提供静态库,而且必须用VS2013以上的版本才能编译。由于VS2013要更新部分组件才能避免编译错误,最终以VS2015编译hiredis.lib静态库。这样就面临如下问题: VS2010不支持完整的C++11特性,linux能直接使用std::thread的代码在Windows无法编译。 但使用该组件的应用程序在Windows系统以VS2010编译,不能直接用VS2015编译出的hiredis.lib继续编译应用程序。 2. 解决过程 2.1. 跨系统移植 2.1.1.务必初始化所有变量 因为某个ID变量没有初始化,在linux运行正常,但移植到windows就出现错误。原因是该变量在linux被缺省初始化为0,单在Windows是随机值。 从代码的质量考虑,不能依赖系统的缺省值,必须养成初始化所有变量的习惯。 2.1.2.VS早期版本不支持C++11的全部标准 代码中使用了C++11的thread,在linux和Windows的VS2015运行正常,但在VS2010编译出错。原因是VS2012之前的版本不支持C++11标准。为此不得不大量使用条件编译,改用CreateThread等函数。 2.2.

Linux下hiredis、jsoncpp的安装

左心房为你撑大大i 提交于 2019-12-07 09:06:04
以下库将安装到/usr/local/lib,头到/usr/local/include hiredis的安装 下载https://github.com/redis/hiredis 解压 cd hiredis make make install linux下正确安装jsoncpp scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz Jsoncpp 下载地址 http://sourceforge.net/projects/jsoncpp/files/latest/download?_test=goal #tar -zxvf scons-2.1.0.tar.gz #cd scons-2.1.0 #python setup.py install #cd .. #tar -zxvf jsoncpp-src-0.5.0.tar.gz #cd jsoncpp-src-0.5.0 #scons platform=linux-gcc #cp libs/linux-gcc-7/* /usr/local/lib #cp -r /home/lgl/下载/jsoncpp/jsoncpp-src-0.5.0/include/json /usr/local/include/json 来源: oschina 链接:

hiredis-win32+libevent

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-06 16:43:23
决定用 redis作为cache服务器 ,要求其服务端和客户端都支持跨平台win和linux 但我发现redis(/作者)对windows态度极差,不考虑,不支持 微软公司的闲人们主动靠过去,推出win版。这么一来,redis的 服务端linux版和win版都有了,我就在我的win7上部署了一个win版的redis服务器做调试用,余不累赘,以后另起课题讨论 客户端用hiredis,其 win版(/往后简称winV)在 https://github.com/texnician/hiredis-win32 原版master(往后简称masterV)在 https://github.com/redis/hiredis 下载来之,解开, 对比 它两: 1、winV的examples.h/c直接和核心代码混在根目录上,组织乱 2、winV全面用预编译宏_WIN32来区分平台代码,另辟代码分别实现各个接口,网络方面的改动最大 3、winV除了新辟的代码,其它的 3.1 winV删除了keepalive的接口 3.2 其它的跟masterV区别不大,有些许改动 确保能编译winV 1、新建目录examples,把examples.h/c全赶进去 2、先不管winV其新辟的代码,把其它的改动,从masterV merge到 winV里 3、建立vc工程hiredis4win.vcxproj/sln