概念:redis是用C语言开发的一个开源的高性能键值对数据库。
特征:
应用场景
基础数据类型之: String
单个string类型的存储空间为512MB
string基本操作
set key value
get key
del key
expire key second
Append key value
mset key1 value1 key2 value2...
mget key1 key2 ...
strlen key
setex key seconds value (秒) psetex key millisexxonds value (毫秒)
基础数据类型之:Hash
hash存储结构优化
hash类型基本操作
hset key field value
hget key field hgetall key
hdel key field [field2 ...]
hmset key field1 value1 field2 value2 ...
hmget key field1 field2 ...
hlen key
hexists key field
hkeys key hvalues key
hincrby key field increment hincrbyfloat key field increment
hsetnx key field value
hash类型数据操作的注意事项
应用场景
基础数据类型之:list
list类型是双向链表存储的
list基本操作
lpush key value1 value2 [value3] ... //从list链表左侧添加 rpush key value1 value2 [value3] ... //从list右侧添加
lrange key start stop //指定链表起始结束位置中的value //在获取未知长的的list类型的时候,想查看所有的value可以使用 -1表示倒数第一个 lrange key start -1 lindex key index //获取链表中指定位置的值 llen key //获取链表的长度
lpop key rpop key
blpop key1 [key2] timeout //指定时间内取出并移除key值对应的value,若timeout超时仍未取出则返回空值(nil) 若本来没有 其他客户端在等待的时候添加了这个key的value则做操作 任务队列 brpop key1 [key2] timeout
lrem key count value
list类型数据操作注意事项
基础数据类型之:set
set存储结构是string类型的无序集合,内部存储时hash存储结构,因此添加、查找、删除的复杂度都是O(1)
set基本操作
sadd key value
smembers key
strem key member1 [member2]
scard key
sismember key member
srandmember key [count]
apop key
sinter key1 [key2] sunion key1 [key2] adiff key1 [key2]
sinterstore destination key1 [key2] sunionstore destination key1 [key2] sdiffstore destination key1 [key2]
smove source destination member
注意事项
基础数据类型:sortedSet
基本操作
zadd key scorel member [score2 member2]
zrange key start stop [witchscores] zrevrange key star stop [witchscores]
zrem key member [member ...]
zrangebyscore key min max [withscores] [limit] zrevrangebyscore key max min [withscores]
zremrangebyrank key start stop //start stop 表示索引的开始结束位置 zremrangebyscore key min max //min max表示排序的最小到最大位置
zcard key zcount key min max
zinterstore destination numkeys key [key ...] zunionstore destination key [key ...]