Redis是一个开源的使用C语言编写的、支持网络交互的、可基于内存也可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis基本数据类型包括:String、Hash、List、Set、Sorted Set、Bitmap、HyperLogLog、Geo、Stream。
以下是各种数据类型的基本操作命令:
- String类型
# 设置key-value
SET key value
# 获取key的value
GET key
# 删除key
DEL key
# 设置key的过期时间(单位:秒)
EXPIRE key seconds
- Hash类型
# 设置hash field为指定值,如果key不存在,则先创建
HSET key field value
# 获取key的hash field的value
HGET key field
# 删除key的hash field
HDEL key field
- List类型
# 在list头部插入值
LPUSH key value
# 在list尾部插入值
RPUSH key value
# 获取list中start到end的元素(-1表示最后一个元素)
LRANGE key start end
# 删除list中count个value
LREM key count value
- Set类型
# 添加一个或多个成员到set中
SADD key member
# 获取set中所有成员
SMEMBERS key
# 删除set中的一个或多个成员
SREM key member
- Sorted Set类型
# 添加一个或多个成员,或更新已存在成员的分数
ZADD key score member
# 获取sorted set中start到end的成员(-1表示最后一个成员)
ZRANGE key start end
# 删除sorted set中的一个或多个成员
ZREM key member
- Bitmap
# 对key中offset位置的bit进行设置
SETBIT key offset value
# 获取key中offset位置的bit值
GETBIT key offset
- HyperLogLog
# 添加一个或多个元素到HyperLogLog中
PFADD key element
# 获取HyperLogLog的基数
PFCOUNT key
- Geo
# 添加地理位置信息
GEOADD key longitude latitude member
# 获取两个地理位置的距离
GEODIST key member1 member2
# 获取指定位置的周边位置
GEORADIUS key longitude latitude radius m|km|ft|mi
- Stream
# 添加一条或多条记录到stream
XADD key ID field value
# 获取stream中的记录
XRANGE key start end
# 删除stream中的记录
XDEL key ID
以上操作是Redis基础操作,在实际应用中,还可以使用Redis的事务、发布/订阅模式、Lua脚本等高级特性。