redis是一个基于key-value存储系统。和Memcached相似,它支持存储的value类型相对更多,拥有丰富的数据结构,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)、Hash(哈希类型的映射表)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。html
Linux:java
下载链接:https://redis.io/downloadpython
解压安装:git
$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz $ tar xzf redis-5.0.4.tar.gz $ cd redis-5.0.4 $ make
启动github
$ cd src $ ./redis-server redis.conf (指定配置文件启动)
window:redis
下载链接:https://github.com/MicrosoftArchive/redis/releaseswindows
解压以后切换到安装目录运行 redis-server.exe redis.windows.conf缓存
推荐一个Redis的命令网站:https://redis.io/commands 数据结构
set key value | 设置执行key的值 |
get key | 获取指定key的值 |
keys * | 返回key集合 |
getset key value | 将给定 key 的值设为 value ,并返回 key 的旧值(old value) |
setnx key value | 只有在 key 不存在时设置 key 的值 |
setex key seconds value | 将值 value 关联到 key ,并将 key 的过时时间设为 seconds (以秒为单位) |
incr key | 将 key 中储存的数字值增一 |
incrby key increment | 将 key 所储存的值加上给定的增量值(increment) |
decr key | 将 key 中储存的数字值减一 |
decrby key decrement | key 所储存的值减去给定的减量值(decrement) |
测试命令:分布式
HSET key field value | 将filed-value(域值对)设置到哈希表key中 |
HGET key field | 获取存储在哈希表中指定字段的值 |
HGETALL key | 获取在哈希表中指定 key 的全部字段和值 |
HKEYS key | 获取全部哈希表中的字段 |
HSETNX key field value | 只有在字段 field 不存在时,设置哈希表字段的值 |
HVALS key | 获取哈希表中全部值 |
测试命令:
LPUSH key value1 [value2] | 将一个或者多个值插入到列表头部 |
LPUSHX key value | 将一个值插入到已存在的列表头部 |
LPOP key | 移出并获取列表的第一个元素 |
LSET key index value | 经过索引设置列表元素的值 |
LINDEX key index | 经过索引获取列表的元素 |
LREM key count value | 移除列表元素 |
RPOP key | 移除列表的最后一个元素,返回值为移除的元素 |
LRANGE key start stop | 获取列表指定范围内的元素 |
测试命令:
SADD key member1 [member2] | 向集合添加一个或多个成员 |
SCARD key | 获取集的成员数 |
SDIFF key1 [key2] | 返回给定集合的差集 |
SINTER key1 [key2] | 返回给定集合的交集 |
SMEMBERS key | 返回集合中的全部成员 |
SISMEMBER key member | 判断 member 元素是不是集合 key 的成员 |
SMOVE source destination member | 将 member 元素从 source 集合移动到 destination 集合 |
测试命令:
ZCARD key | 获取有序集合的成员数 |
ZADD key score1 member1 [score2 member2] | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
ZRANK key member | 返回有序集合中指定成员的索引 |
ZUNIONSTORE destination numkeys key [key ...] | 计算给定的一个或多个有序集的并集,并存储在新的 key 中 |
ZREM key member [member ...] | 移除有序集合中的一个或多个成员 |
ZRANGE key start stop [WITHSCORES] | 经过索引区间返回有序集合指定区间内的成员 |
ZSCORE key member | 返回有序集中,成员的分数值 |
ZINCRBY key increment member | 有序集合中对指定成员的分数加上增量 increment |
测试命令:
至此,Redis从入门到高可用以及分布式实战(一)对Redis的入门介绍就到这里,下一篇 Redis从入门到高可用以及分布式实战(二)会对Redis进一步介绍,包括实现Redis集群模式(1主2从3哨兵模式)、Redis的主从配置、Sentonel哨兵机制等深刻分析,期待!