Redis是一个基于内存的key-value结构数据库
linux上面安装:
Redis存储的是key-value结构的数据,其中key是字符串,value有常见的5中数据类型:
- 字符串 string
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 sorted set
字符串常用操作:
- SET key value 设置指定key的值
- GET key 获取指定key的值
- SETEX key seconds value 设置指定key的值,并将key的过期时间设置为seconds秒
- SETNX key value 只有在key不存在时设置key的值 (分布式锁)
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象,常用命令:
- HSET key field value 将哈希表key中的字段field的值设置为value
- HGET key field 获取存储在哈希表中指定字段的值
- HDEL key field 删除存储在哈希表中的指定字段
- HKEYS key 获取哈希表中所有字段
- HVALS key 获取哈希表中所有值
- HGETALL key 获取在哈希表中指定key的所有字段和值
列表:是简单的字符串类型,并且是按照插入顺序排序的
- LPUSH key value1 [value2] 将一个或者多个值插入列表头部
- LRANGE key start stop 获取列表指定范围内的元素
- RPOP key 移除并获取列表最后一个元素
- LLEN key 获取列表长度
- BRPOP key1 [key2] timeout 移除并获取列表最后一个元素,如果列表没有元素会阻塞列表知道等待超时或者发现可弹出元素位置
集合:
- SADD key member1 [member2] 向集合添加一个或者多个元素
- SMEMVERS key 返回集合中的所有成员
- SCARD key 获取集合的成员数
- SINTER key1 [key2] 返回所有给定集合的交集
- SUNION key1 [key2] 返回所有给定集合的并集
- SDIFF key1 [key2] 返回给定所有集合的差集
- SREM key member1 [member2] 移除集合中一个或者多个成员
有序集合:string类型元素的集合,不允许重复的成员。每个元素都会关联一个double类型的分数,通过这个分数来从小到大排序
- ZADD key score1 member1 [score2 member2] 向有序集合添加一个或者多个成员,或者更新已经存在的成员分数
- ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间的成员
- ZINCRBY key increment member 有序集合中对指定成员的分数加上增量increment
- ZREM key member [member…] 移除有序集合中的一个或多个成员
通用命令
- KEYS pattern 查询所有符合给定pattern的key
- EXISTS key 查看key是否存在
- TYPE key 返回key所存储值的类型
- TTL key 返回给定key的剩余生存时间,以秒为单位
- DEL key 该命令用于在key存在时删除key