admin 管理员组

文章数量: 1184232


2024年1月17日发(作者:access2013案例数据库下载)

Redis 安装和配置方法

一 服务器端的安装与配置

登陆 下载相应的redis版本资源

目前redis-2.6.16为稳定版。目前gms使用的是此版本

得到

执行

tar –zxvf

cd redis-2.6.16

make

编译工作完事之后,可以进入redis-2.6.16/src/

其中

Redis-server 为redis服务器端

Redis-cli 为用户指令端

<具体指令 参见附录A>

二 客户端的安装与配置

Redis为C语言提供的客户端在中能够找到,名称为hiredis。

具体包名为

解压 unzip

cd hiredis-master

make

我们可以得到一个动态库 ,编译的时候 需要链接到此动态库即可。

关于头文件方面对外的头文件只需引用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中文资料请参考

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 newkey将一个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 ...]从队列的右边入队一个元素

RPUSHX key value从队列的右边入队一个元素,仅队列存在时有效

SADD key member [member ...]添加一个或者多个元素到集合(set)里

SAVE 同步数据到磁盘上

SCARD key获取集合里面的元素数量

SCRIPT EXISTS script [script ...]Check existence of scripts in the script cache.

SCRIPT FLUSH 删除服务器缓存中所有Lua脚本。

SCRIPT KILL 杀死当前正在运行的 Lua 脚本。

SCRIPT LOAD script从服务器缓存中装载一个Lua脚本。

SDIFF key [key ...]获得队列不存在的元素

SDIFFSTORE destination key [key ...]获得队列不存在的元素,并存储在一个关键的结果集

SELECT index选择数据库

SET key value设置一个key的value值

SETBIT key offset valueSets or clears the bit at offset in the string value stored at key

SETEX key seconds value设置key-value并设置过期时间(单位:秒)

SETNX key value设置的一个关键的价值,只有当该键不存在

SETRANGE key offset valueOverwrite part of a string at key starting at the specified offset

SHUTDOWN [NOSAVE] [SAVE]关闭服务

SINTER key [key ...]获得两个集合的交集

SINTERSTORE destination key [key ...]获得两个集合的交集,并存储在一个关键的结果集

SISMEMBER key member确定一个给定的值是一个集合的成员

SLAVEOF host port指定当前服务器的主服务器

SLOWLOG subcommand [argument]管理再分配的慢查询日志

SMEMBERS key获取集合里面的所有key

SMOVE source destination member移动集合里面的一个key到另一个集合

SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC]

[ALPHA] [STORE destination]对队列、集合、有序集合排序

SPOP key删除并获取一个集合里面的元素

SRANDMEMBER key [count]从集合里面随机获取一个key

SREM key member [member ...]从集合里删除一个或多个key

STRLEN key获取指定key值的长度

SUBSCRIBE channel [channel ...]聆听发布途径的消息

SUNION key [key ...]添加多个set元素

SUNIONSTORE destination key [key ...]合并set元素,并将结果存入新的set里面

SYNC 用于复制的内部命令

TIME 返回当前服务器时间

TTL key获取key的有效时间(单位:秒)

TYPE key获取key的存储类型

UNSUBSCRIBE [channel [channel ...]]停止发布途径的消息听

UNWATCH 取消事务

WATCH key [key ...]锁定key直到执行了 MULTI/EXEC 命令

ZADD key score member [score member ...]添加到有序set的一个或多个成员,或更新的分数,如果它已经存在

ZCARD key获取一个排序的集合中的成员数量

ZCOUNT key min max给定值范围内的成员数与分数排序

ZINCRBY key increment member增量的一名成员在排序设置的评分

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]

[AGGREGATE SUM|MIN|MAX]相交多个排序集,导致排序的设置存储在一个新的关键

ZRANGE key start stop [WITHSCORES]返回的成员在排序设置的范围,由指数

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]返回的成员在排序设置的范围,由得分

ZRANK key member确定在排序集合成员的索引

ZREM key member [member ...]从排序的集合中删除一个或多个成员

ZREMRANGEBYRANK key start stop在排序设置的所有成员在给定的索引中删除

ZREMRANGEBYSCORE key min max删除一个排序的设置在给定的分数所有成员

ZREVRANGE key start stop [WITHSCORES]在排序的设置返回的成员范围,通过索引,下令从分数高到低

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]返回的成员在排序设置的范围,由得分,下令从分数高到低

ZREVRANK key member确定指数在排序集的成员,下令从分数高到低

ZSCORE key member获取成员在排序设置相关的比分

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]

[AGGREGATE SUM|MIN|MAX]添加多个


本文标签: 排序 数据库 设置 元素 成员