1)下载地址
https://github.com/redis/hiredis
2)编译和安装
解压后的文件夹执行 makemake install
3)头文件包含
include <hiredis/hiredis.h>
4)编译选首闹圆项
makefile文件中加入LDFLAGS = -lhiredis
2、主要结构
主要关注2个结构体,
1)redisContext
//对应与Redis的连接
[cpp] view plain copy
/* Context for a connection to Redis */
typedef struct redisContext {
int err/* Error flags, 0 when there is no error */
char errstr[128]/* String representation of error when applicable */
int fd
int flags
char *obuf/* Write buffer */
redisReader *reader/* Protocol reader */
enum redisConnectionType connection_type
struct timeval *timeout
struct {
char *host
char *source_addr
int port
} tcp
struct {
char *path
} unix_sock
} redisContext
2)redisReply
//对应redis命令的回复结果
[cpp] view plain copy
/* This is the reply object returned by redisCommand() */
typedef struct redisReply {
int type/* REDIS_REPLY_* */
long long integer/* The integer when type is REDIS_REPLY_INTEGER */
int len/* Length of string */
char *str/* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */
size_t elements/* number of elements, for REDIS_REPLY_ARRAY */
struct redisReply **element/* elements vector for REDIS_REPLY_ARRAY */
} redisReply
2、主要接口
主要有4个接口,
1)redisContext* redisConnect(const char *ip, int port)
//连接redis。
2)void *redisCommand(redisContext *c, const char *format, ...)
//执行redis *** 作命令
3)void freeReplyObject(void *reply)
//释放执行redis *** 作命令回复的内存
4)void redisFree(redisContext *c)
//释放连接上下文。
3、异常处理
主要4种异常情况会出现,
1)获得的redisContext指针为null
异常处理办法:再次尝试与redis建立新的连接上下文。
2)获得的redisContext指针err不为0
异常处理办法:者塌再次尝试与redis建弯如立新的连接上下文。
3)获得的redisReply指针为null
异常处理办法:断开redis连接再次与redis建立连接并尝试执行命令。
4)获得的reply指针的type不是期望的类型,
异常处理办法:断开redis连接再次与redis建立连接并尝试执行命令。
至此hiredis了解完毕,接下来就可以在其他模块中调用了。
(1)下载好之后,使用命令进行解压:(2)使用命令python ez_setup.py进行运行:
(3)使用命令python -m easy_install redis hiredis 来安装redis包以及hireredis包:
由上图可看出在安装过程中出问题了,最终找到原因才是因为Linux上的Python版本(2.7)太低!!!所以我们接下来升级Python的版本:
a)首先还是在Python的官网上下载安装包,下面给出下载的地址:
https://www.python.org/downloads/source/
我选择的版本是Python-3.1.2版本,其他的版本也是可以,但至少要比2.7版本要高:
b)解压安亮袜轮装包:
d)在/usr/local下创建目录python3,用于安装python的路径,以免覆盖老的版本:
e)开始编译安装:
./configure --prefix = /usr/local/python3
make &&make install
f)编译安装完成之后,此时没有覆盖原来的版本,再将原来/usr/bin/python链接改为别的名字:
mv /usr/bin/python /usr/bin/python_old
g)再建立新版本python的链接:
ln -s
/usr/local/python3/bin/python3
/usr/bin/python
至此python的安装已经完成!!!!
PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当敬信然如果还想保留原来的版本,那么这种方法最好不过了。
以上则就是python的新版本!!!!
然后再使用刚开始的命令:
(4)
(5)
至此我们已经完成了在Linux上为Python语言安装Redis客户端!!!!接下来我们进行验证:
(6)首先开启redis服务:
(7)查看服务器开启端口:
(8)开启好唯redis客户端连接服务器:
(9)下面我们使用python来测试redis,首先启动python:
(10)导入redis客户端:
(11)创建redis连接,并设置一个值,然后通过获取返回值来判断设置 *** 作是否执行成功
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)