您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 马鞍山分类信息网,免费分类信息发布

Redisc/c++,java客户端连接

2024/4/1 6:48:12发布16次查看
redis 介绍 redis 这个想必大家都了解,关于redis的安装参考这里,redis使用文档参见这里。 redis c客户端的使用方法 redis的c客户端 hiredis使用比较广泛,下面主要介绍下它。 1,hiredis的安装,配置 hiredis客户端 在redis解压后的deps/hiredis下有相应的
redis 介绍redis 这个想必大家都了解,关于redis的安装参考这里,redis使用文档参见这里。
redis c客户端的使用方法redis的c客户端 hiredis使用比较广泛,下面主要介绍下它。
1,hiredis的安装,配置
hiredis客户端 在redis解压后的deps/hiredis下有相应的文件。如果你的安装包没有相应的文件可以到这里下载。
cd deps/hiredis (下载hiredis的话 自行解压进入 解压后的目录)。
make
最后 把相应的文件加入到 系统目录下,这样系统能够搜索到。
mkdir /usr/lib/hiredis
cp libhiredis.so /usr/lib/hiredis #将动态连接库libhiredis.so至/usr/lib/hiredis
mkdir /usr/include/hiredis
cp hiredis.h /usr/include/hiredis
最后注意:
需要更新一下库的cache,执行命令:sudo ldconfig /usr/lib/
因为程序启动时,会去/etc/ld.so.cache来查找所要用的库,不然会出现如下错误:error while loading shared libraries: libhiredis.so.0.10: cannot open shared object file: no such file or directory。 关于这些知识参考这里。
2,c客户端访问redis
上面的工作完成后,就可以进行连接hiredis服务器。代码如下(编译环境为ubuntu系统上gcc)
// redis_test.c#include #include #include int main(){ rediscontext *c = redisconnect(127.0.0.1, 6379);// ip port if(c->err) { printf(connect error.%s, c->errstr); } else { printf(connected\n); } char *value=it's a test; redisreply *reply1 = rediscommand(c, set key %s, value); freereplyobject(reply1); redisreply *reply2 = rediscommand(c, get key); printf(key:1 value:%s\n, reply2->str); freereplyobject(reply2); redisfree(c); return 0;}
在linux系统下 .o 就相当于windows里的obj文件 .a 是好多个.o合在一起,用于静态连接 .so 是shared object,用于动态连接的,和dll差不多 。
因此说明两中编译方法:
一,采用静态链接方法
把 hiredis编译后的 libredis.a 拷贝到当前程序 目录下,执行如下命令:
gcc -o test redis_test.c libredis.a
运行程序: ./test , 可以看到成功了。
二,动态链接
执行如下命令:gcc -o test redis_test.c libredis.so (注意 使用共享库前要sudo ldconfig /usr/lib/)
运行程序: ./test , 可以看到成功了。
redis java客户端的使用方法1,jedis下载
jedis 是redis 的java客户端,redis中java客户端使用的相对比较广泛,下面就介绍java怎么链接和实验redis.
jedis下载地址在 这里 通过网址 https://github.com/xetorthio/jedis 下载jedis源码。
2,编译jedis jar 包
通过步骤1 下载下来的源码发现没有 jar包,对于编程直接使用源码比较麻烦,现在把源码打包为jar文件下次用的时候可以直接使用了。
用eclipse新建一个jedis工程把 解压后的 redis文件放在新建工程的src目录下,发现缺失相应的commons pool 2.2 包,需要到这里
下载可执行文件包commons-pool2-2.2-bin.zip,解压并把commons-pool2-2.2.jar等依赖包 通过 build path 中的add external jars 加入
到当前的工程中,最后export jar包,命名为: jedis-2.4.2.jar,可以到这里下载 http://download.csdn.net/detail/gfsfg8545/7357837 。
3,使用jedis访问 redis
新建工程, 在引入相关jar包后,只要new一个jedis对象,就能做redis相关操作了。来个简单的jedis实例:
package cn.daniel.test;/** * * @author daniel * redis java client test. * time 2014-05-16 */import java.util.list;import java.util.map;import java.util.map.entry;import redis.clients.jedis.jedis;public class jredistest { public void redistest() { jedis redis = new jedis(172.16.0.126, 6379);// connect server: ip port // redis.auth(user); // string operator // set key-value redis.set(key1, 1); redis.set(key2, 2); // mset key-value redis.mset(key3, 3, key4, 4); // get key-value system.out.println(key:key1 value:+redis.get(key1)); // mget key [key ...] list list = redis.mget(key1, key2, key3, key4); for(string s:list) { system.out.println(s); } // hset key field value redis.hset(website, csdn, http://csdn.net/); redis.hset(website, daniel, http://blog.csdn.net/daniel_ustc); // hgetall, get all the fields and values in the hash map map = redis.hgetall(website); for(entry entry:map.entryset()) { system.out.println(key: + entry.getkey()+ value: + entry.getvalue()); } // quit redis.quit(); }// redistest public static void main(string[] args) { jredistest test = new jredistest(); test.redistest(); }}
运行上面的程序即可访问redis。也可以用maven管理jar包依赖,据说比较好用。
马鞍山分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录