Redis入门
简介
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf
Redis操作库命令
命令 |
描述 |
select 下标[0~15] |
切换对于库 |
dbsize |
当前库以存储大小 |
flushdb |
删除当前库中所有数据 |
flushall |
删除全部库数据 |
Redis keys 常用命令
命令 |
描述 |
del key |
key 存在时删除key |
dump key |
序列化给定key,并返回被序列化的值 |
exists key |
检查key是否存在 |
expire key 5 |
设置key 5秒过期 |
keys pattern |
查找所有符合pattern条件的key |
ttl key |
检查key过期时间剩余时间 |
Redis String 常用命令
命令 |
描述 |
set key value |
设置key的值为value |
setrang key 偏移量 value |
用value值覆写给定key所储存的字符串值,从偏移量开始 |
strlen key |
返回key字符串长度 |
setex key 5 value |
将值value关联到key,并将key的过期时间设为5秒 |
setex key value |
key的值不存在就设置value值 |
get key |
获取key的值 |
getrange key 0 1 |
获取key的第一位值 |
getset key value |
将给定key的值设为value,并返回key的旧值 |
mset key1 value1 key2 value2 |
同时设置一个或多个key-value对 |
incr key |
将key中的数字 ++ |
incrby key 10 |
将key中的数字 +=10 |
decr key |
将key中的数字 -- |
decrby key 10 |
将key中的数字 -=10 |
append key newValue |
给存在的key并且值是字符串就在最后最加newValue |
Redis Hash 常用命令
命令 |
描述 |
hset key field value |
设置哈希表key字段field的值为value |
hsetnx key field value |
哈希表key字段不存在时,设置field的值为value |
hmsetnx key field1 value1 field2 value2 |
设置哈希表key字段field1的值为value1,field2 value2的值 |
hget key field |
获取哈希表中key field的值 |
hgetall key |
获取哈希表中key所有字段和值 |
hkeys key |
获取所有哈希表中key所有字段 |
hvals key |
获取所有哈希表中key所有值 |
hexists key field |
查看哈希表中key field字段是否存在 |
hdel key field1 field2 |
删除一个或者多个哈希表字段 |
Redis List 常用命令
命令 |
描述 |
lpush key value1 value2 |
添加value1 value2到列表头部 |
lpushx key value |
添加value添加到key的列表头部 |
rpush key value1 value2 |
添加value1 value2到key的列表中 |
rpushx key value |
为存在的key添加value值 |
lset key 0 value |
通过索引设置值(设置key的第一个字段的值为value) |
lindex key 0 |
获取key中第一个元素 |
lrange key 0 1 |
获取key中前两个元素 |
lpop key |
移除并获取key列表的第一元素 |
rpop key |
移除并获取key列表的最后一个元素 |
lrem key |
移除并获取key列表的第一元素 |
llen key |
获取key列表长度 |
Redis Set 常用命令
命令 |
描述 |
sadd key value1 value2 |
向集合内增加value1 value2 |
scard key |
获取集合的成员数 |
sdiff key key2 |
返回第一个集合和其它集合的差异 |
sdiffstore destination key1 key2 |
返回key1 key2集合的差异并且存储在destination集合里面 |
sinter key1 key2 |
返回key1 key2集合交集 |
sunion key1 key2 |
返回key1 key2集合的并集 |
sinterstore destination key1 key2 |
返回key1 key2集合的交集并且存储在destination集合里面 |
sunionstore destination key1 key2 |
返回key1 key2集合的并集并且存储在destination集合里面 |
sismember key value |
判断value是否在集合key的成员中 |
smember key |
返回key集合中所有成员 |
smove key1 key2 value |
将value元素从key1集合中移动到key2集合中 |
spop key |
移除key并返回集合中的一个随机元素 |
srandmember key [count] |
移除并返回key集合中一个或者多个成员 |
srem key [count] |
移除key集合中一个或者多个成员 |
Redis Sorted Set 常用命令
命令 |
描述 |
zadd key 1 value |
向有序集合key中添加value 排序分数是1 |
zcard key |
获取有序集合的成员数 |
zcount key min max |
计算有序集合中指定分区的成员数 |
zincrby key 10 value |
为有序集合key中value成员排序分数增加10 |
zlexcount key min max |
在有序集合key中计算区间内的成员数量 |
zrangee key start stop withscores |
通过索引区间返回有序集合指定区间内的成员 |
zrangeebylex key start stop |
通过字典区间返回有序集合的成员 |
zrank key value |
返回有序集合中指定成员的索引 |
zrem key value |
移除有序集合中的一个或多个成员 |
zremrangebylex key min max |
移除有序集合中给定的字典区间的所有成员 |
zremrangebyrank key start stop |
移除有序集合中给定的排名区间的所有成员 |
zremrangebyscore key min max |
移除有序集合中给定的分数区间的所有成员 |
zrevrange key start stop withscores |
返回有序集中指定区间内的成员,通过索引,分数从高到低 |
zrevrangebyscore key max min withscores |
返回有序集中指定分数区间内的成员,分数从高到低排序 |
zrevrank key value |
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 |
zscore key value |
返回有序集中,成员的分数值 |