二、安装
下载地址:http://download.redis.io/releases/redis-3.2.11.tar.gz
安装依赖:
yum install -y gcc g++ gcc-c++ make
新建redis文件夹,上传压缩包redis-3.2.11.tar.gz。
解压:tar xzf redis-3.2.11.tar.gz
进入解压文件:cd redis-3.2.11
编译:make
(注:若编译报错可参考安装gcc编译器)
安装:make install PREFIX=/redis/redis
(/redis/redis 无此文件安装时会自动生成)
此时redis文件夹中只有一个bin文件夹,相当于redis的一个节点,这里将bin目录修改名字,以便后续添加多个redis时好做区分。
Redis01文件夹下有服务启动程序和客户端启动程序。
退回到解压文件,找到redis配置文件
这里对配置文件做简单配置;
将修改后的文件复制到redis01目录下
启动服务:redis-server redis.conf
不关闭服务新开窗口到redis01文件夹下,运行客户端程序,并做简单测试。
./redis-cli -h 192.168.180.115 -p 1001 (连接集群时要加-c)
-h 指定服务ip
-p 指定端口号
此客户端程序可连接已开启的不同节点的redis服务。
四、常用命令
存储:set key value
获取:get key
存储并设置有效时间:set key seconds value
查看有效时间:ttl key
查看过期时间(毫秒):pttl key
移除key的过期时间:persist key
只有当key不存在是设置key值(如果指定的 key 已经存在 则会设置失败): setnx key value
设置多个键值:mset key varlve [key value]
获取多个键值:mget key [key]
将给定的key设置为value,并返回key 的旧值:get set key value
获取值长度:strken key
根据内容获取所有key:keys rock*
判断键是否存在:exits key
获取值的类型:type key
删除key对应的值:del key [key]
设置过期时间:expire key seconds
删除数据库的所有:flushdb
删除数据库中所有的key:flushall
修改key的名称:rename key newkey
随机返回一个key:random key
------ Hash:Map结构,字典结构,键值对集合 一个key 对应 字典
设置单个值:hset key filed value
设置多个值:hset key filed value [filed velue]
获取一个属性的值:hget key filed
获取多个属性的值:hmget key filed [filed]
获取所有的字段和值:hgetall key
获取所有的字段: hkeys key
获取所有的值:hvals key
获取包含数据的个数:hlen key
判断属性是否存在:hexit key filed
删除字段及值:hdel key filed [filed]
返回字符串长度:hstrlen key field
------- list(列表)
在头部插入:lpush key value
将一个值插入到已存在列表的头部,列表不存在时操作无效:lpushx key value
在尾部插入:rpush key value
将一个值插入到已存在列表的尾部:rpushx key value
在一个元素的前后插入新的元素:linsert key before|after priorvalue inservalue
移除并返回key对应的list的第一个元素:lpop key
移除并返回key对应的list的最后一个元素:rpop key
获取存储在key的列表的指定单位的元素(支持负值):lrange key start end
剪裁列表:ltrim key start end
获取列表的长度:llen key
返回列表中索引对应的值:lindex key index
------- set集合:无需集合,元素类型为String类型,元素具有唯一性,不重复
添加元素:sadd key member [member]
获取所有的元素:smembers key
返回集合元素个数:scard key
移除并返回集合中的一个随机元素:spop key
返回集合中的一个或多个随机数:srandomember key count
移除集合中的一个或多个元素:srem ky member [member]
集合操作求多个集合的交集:sinter key [key]
求多的集合的差集 注意顺序:sdiff key [key]
求多个集合的合集:sunion key [key]
判断元素是否在集合中:sismember key member
------- Zset有序集合 元素类型为string,元素具有唯一性
添加元素:add key score member [ score member ]
有序集合中对指定成员的score(权重)加上增量:zincrby key increValue member
获取指定范围的元素:zrange key start end
返回元素个数:zcard key
返回有序集合key中,score在start和end之间的元素个数:zcount key start end