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小时内删除。