Redis数据结构和常用API
Redis是一个速度非常快的非关系型数据库,可以存储键与5中不同数据结构类型之间的映射。这5种数据结构分别是STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)、ZSET(有序集合)。 STRING(字符串)和其他编程语言或者其他键值存储提供的字符串非常相似。 SET 设置值 GET 获取值 DEL 删除值 .:>.:>
.:>
.:>.:>
常用API: 列表可以有序存储多个字符串,其中字符串可以相同。 LPUSH?? ?将元素推入列表的左端 RPUSH? ? 将元素推入列表的右端 LPOP? ? 将元素从列表左端弹出 RPOP? ? 将元素从列表右端弹出 LINDEX?? ?获取列表在给定位置上的单个元素 LRANGE?? ? 获取列表在给定范围的所有元素 .:> rpush list-
.:> rpop list-
.:> rpop list-
.:> rpush list-
.:> rpush list-
.:> rpush list-
.:> lrange list-key -
)
)
)
.:> lindex list-key
.:> lpop list-
.:> lrange list-key -
)
)
.:>
常用API: 集合可以存储不同多个字符串,且无序。 SADD? ? 将元素添加到集合中 SREM? ? 从集合里面移除元素,如果这个元素存在 SISMEMBER? ? 快速检查一个元素是否已经存在集合中 SMEMBERS? ? 获取集合包含的所有元素(如果集合包含的元素非常多,那么命令执行速度回很慢,谨慎使用) .:> sadd set-
.:> sadd set-
.:> sadd set-
.:> sadd set-
.:> smembers set-)
)
)
.:> sismember set-
.:> sismember set-
.:> srem set-
.:> srem set-
.:> smembers set-)
)
.:>
常用API: Redis可以存储多个键值对之间的映射,hash 是一个string类型的field和value的映射表,适合存储对象。和字符串一样,散列存储的值既可以存储字符串和数字值,并且可以对散列存储的数字值执行自增或自减操作。 HSET? ? 在散列里面关联起给定的键值对 HGET? ? 获取指定散列键的值 HGETALL?? ?获取散列包含的所有键值对 HDEL? ? 如果给定键存在于散列里面,那么删除这个键 .:> hset hash-key sub-
.:> hset hash-key sub-
.:> hset hash-key sub-
.:> hgetall hash-)
)
)
)
.:> hdel hash-key sub-
.:> hdel hash-key sub-
.:> hget hash-key sub-
.:> hgetall hash-)
)
.:>
常用API: 有序集合和散列一样,都用于存储键值对:有序集合的键被称为成员(member),每个成员都是各不相同的;有序集合的值被称为分值(score),分值必须使用浮点数。有序集合是Redis里面唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列顺序来访问元素的结构。 ZADD? ? 将一个带有给定分值的成员添加到有序集合里面 ZRANGE? ? 根据元素在有序排列中所处的位置,从有序集合中取出多个元素 ZRANGEBYSCORE? ? 获取有序集合在给定分值范围内的所有元素 ZREM? ? 如果给定成员存在于有序集合中,那么移除这个成员 .:> zadd zset-key
.:> zadd zset-key
.:> zadd zset-key
.:> zrange zset-key -)
)
)
)
.:> zrangebyscore zset-key )
)
.:> zrem zset-
.:> zrem zset-
.:> zrange zset-key -)
)
.:>
?常用API: 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |