Redis 安装和配置方法
一 服务器端的安装与配置
登陆redis 下载相应的redis版本资源
目前redis-2.6.16为稳定版。目前gms使用的是此版本
得到redis-2.6.
执行
tar –zxvf redis-2.6.
cd redis-2.6.16
make
编译工作完事之后,可以进入redis-2.6.16/src/
其中
Redis-server 为redis服务器端
Redis-cli 为用户指令端
<具体指令 参见附录A>
二 客户端的安装与配置
Redis为C语言提供的客户端在redis中能够到,名称为hiredis。
具体包名为hiredis-master.zip
解压 unzip hiredis-master.zip
cd hiredis-master
make
我们可以得到一个动态库 libhiredis.so ,编译的时候 需要链接到此动态库即可。
关于头文件方面对外的头文件只需引用hiredis.h即可。
三 有关C语言的redis常用接口
hiredis是redis数据库的C接口,目前只能在linux下使用,几个基本的函数就可以操作redis数据库了。
函数原型:redisContext *redisConnect(const char *ip, int port)
说明:该函数用来连接redis数据库,参数为数据库的ip地址和端口,一般redis数据库的端口为6379
该函数返回一个结构体redisContext。
函数原型:void *redisCommand(redisContext *c, const char *format, ...);
说明:该函数执行命令,就如sql数据库中的SQL语句一样,只是执行的是redis数据库中的
操作命令,第一个参数为连接数据库时返回的redisContext,剩下的参数为变参,就如C标准函数printf函数一样的变参。返回值为void*,一般强制转换成为redisReply类型的进行进一步的处理。
函数原型void freeReplyObject(void *reply);
说明:释放redisCommand执行后返回的redisReply所占用的内存
函数原型:void redisFree(redisContext *c);
说明:释放redisConnect()所产生的连接。
附录A
具体redis中文资料请参考redis
∙ APPEND key value追加一个值到key上
∙ AUTH password验证服务器
∙ BGREWRITEAOF 异步重写追加文件
∙ BGSAVE 异步保存数据集到磁盘上
∙ BITCOUNT key [start] [end]统计字符串指定起始位置的字节数
∙ BITOP operation destkey key [key ...]Perform bitwise operations between strings
∙ BLPOP key [key ...] timeout删除,并获得该列表中的第一元素,或阻塞,直到有一个可用
∙ BRPOP key [key ...] timeout删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用
∙ BRPOPLPUSH source destination timeout弹出一个列表的值,将它推到另一个列表,并返回它;或阻塞,直到有一个可用
∙ CLIENT KILL ip:port关闭客户端连接
∙ CLIENT LIST 获得客户端连接列表
∙ CLIENT GETNAME 获得当前连接名称
∙ CLIENT SETNAME connection-name设置当前连接的名字
∙ CONFIG GET parameter获取配置参数的值
∙ CONFIG SET parameter value获取配置参数的值
∙ CONFIG RESETSTAT 复位再分配使用info命令报告的统计
∙ DBSIZE 返回当前数据库里面的keys数量
∙ DEBUG OBJECT key获取一个key的debug信息
∙ DEBUG SEGFAULT 使服务器崩溃
∙ DECR key整数原子减1
∙ DECRBY key decrement原子减指定的整数
∙ DEL key [key ...]删除一个key
∙ DISCARD 丢弃所有 MULTI 之后发的命令
∙ DUMP key导出key的值
∙ ECHO message回显输入的字符串
∙ EVAL script numkeys key [key ...] arg [arg ...]在服务器端执行 LUA 脚本
∙ EVALSHA sha1 numkeys key [key ...] arg [arg ...]在服务器端执行 LUA 脚本
∙ EXEC 执行所有 MULTI 之后发的命令
∙ EXISTS key查询一个key是否存在
∙ EXPIRE key seconds设置一个key的过期的秒数
∙ EXPIREAT key timestamp设置一个UNIX时间戳的过期时间
∙ FLUSHALL 清空所有数据库
∙ FLUSHDB 清空当前的数据库
∙ GET key获取key的值
∙ GETBIT key offset返回位的值存储在关键的字符串值的偏移量。
∙ GETRANGE key start end获取存储在key上的值的一个子字符串
∙ GETSET key value设置一个key的value,并获取设置前的值
∙ HDEL key field [field ...]删除一个或多个哈希域
∙ HEXISTS key field判断给定域是否存在于哈希集中
∙ HGET key field读取哈希域的的值
∙ HGETALL key从哈希集中读取全部的域和值
∙ HINCRBY key field increment将哈希集中指定域的值增加给定的数字
∙ HINCRBYFLOAT key field increment将哈希集中指定域的值增加给定的浮点数
∙ HKEYS key获取hash的所有字段
∙ HLEN key获取hash里所有字段的数量
∙ HMGET key field [field ...]获取hash里面指定字段的值
∙ HMSET key field value [field value ...]设置hash字段值
∙ HSET key field value设置hash里面一个字段的值
∙ HSETNX key field value设置hash的一个字段,只有当这个字段不存在时有效
∙ HVALS key获得hash的所有值
∙ INCR key执行原子加1操作
∙ INCRBY key increment执行原子增加一个整数
∙ INCRBYFLOAT key increment执行原子增加一个浮点数
∙ INFO [section]获得服务器的详细信息
∙ KEYS pattern查所有匹配给定的模式的键
∙ LASTSAVE 获得最后一次同步磁盘的时间
∙ LINDEX key index获取一个元素,通过其索引列表
∙ LINSERT key BEFORE|AFTER pivot value在列表中的另一个元素之前或之后插入一个元素
∙ LLEN key获得队列(List)的长度
∙ LPOP key从队列的左边出队一个元素
∙ LPUSH key value [value ...]从队列的左边入队一个或多个元素
∙ LPUSHX key value当队列存在时,从队到左边入队一个元素
∙ LRANGE key start stop从列表中获取指定返回的元素
∙ LREM key count value从列表中删除元素
∙ LSET key index value设置队列里面一个元素的值
∙ LTRIM key start stop修剪到指定范围内的清单
∙ MGET key [key ...]获得所有key的值
∙ MIGRATE host port key destination-db timeout原子性的将key从redis的一个实例移到另一个实例
∙ MONITOR 实时监控服务器
∙ MOVE key db移动一个key到另一个数据库
∙ MSET key value [key value ...]设置多个key value
∙ MSETNX key value [key value ...]设置多个key value,仅当key存在时
∙ MULTI 标记一个事务块开始
∙ OBJECT subcommand [arguments [arguments ...]]检查内部的再分配对象
∙ PERSIST key移除key的过期时间
∙ PEXPIRE key milliseconds设置一个key的过期的毫秒数
∙ PEXPIREAT key milliseconds-timestamp设置一个带毫秒的UNIX时间戳的过期时间
∙ PING Ping 服务器
∙ PSETEX key milliseconds valueSet the value and expiration in milliseconds of a key
∙ PSUBSCRIBE pattern [pattern ...]听出版匹配给定模式的渠道的消息
∙ PTTL key获取key的有效毫秒数
∙ PUBLISH channel message发布一条消息到频道
∙ PUNSUBSCRIBE [pattern [pattern ...]]停止发布到匹配给定模式的渠道的消息听
∙ QUIT 关闭连接,退出
∙ RANDOMKEY 返回一个随机的key
∙ RENAME key newkeyredis doc将一个key重命名
∙ RENAMENX key newkey重命名一个key,新的key必须是不存在的key
∙ RESTORE key ttl serialized-valueCreate a key using the provided serialized value, previously obtained using DUMP.
∙ RPOP key从队列的右边出队一个元素
∙ RPOPLPUSH source destination删除列表中的最后一个元素,将其追加到另一个列表
∙ RPUSH key value [value ...]从队列的右边入队一个元素
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论