redis实战

    xiaoxiao2023-10-05  164

    Redis实战

    Redis简介

    Redis数据结构简介

    结构类型结构存储的值结构读写能力STRING字符串,整数,浮点数对整个字符串或者字符串中一部分进行操作,对整数和浮点数进行自增或者自减操作LIST链表,链表上每个节点都包含了字符串两边推入或者弹出元素,根据偏移量对链表进行修剪(trim),读取多个或者单个元素,根据值查询护着移除元素SET包含字符串的无序收集器,并且每个字符串独一无二添加,获取,移除单个元素,检查元素是否在集合中,交集,并集,差集,从集合里随机获取元素HASH包含键值对的无序列表添加,获取,移除单个键值对,获取所有键值对ZSET(有序集合)字符串成员与浮点数分之之间的有序映射,元素的排列顺序由分值大小决定添加,获取,删除单个元素,根据分值范围或者成员获取元素

    Redis中的字符串

    Redis的字符串和其他编程语言或者其他键值存储提供的字符串非常相似GET(获取值),SET(设置值),DEL(删除值)

    127.0.0.1:6379> set hello world OK 127.0.0.1:6379> get hello “world” 127.0.0.1:6379> del hello (integer) 1 127.0.0.1:6379> get hell (nil)

    Redis中的列表

    列表中,相同的元素可以重复出现LPUSH(将元素推入列表左端),RPUSH(将元素推入列表右端)LPOP(弹出左边元素),RPOP(弹出右边元素)LINDEX(用于获取列表在给定位置上的元素)LRANGE(用于获取列表在给定范围上的所有元素)

    127.0.0.1:6379> rpush list-key item (integer) 1 127.0.0.1:6379> rpush list-key item2 (integer) 2 127.0.0.1:6379> rpush likt-key item (integer) 1 127.0.0.1:6379> lrange list-key 0 -1

    “item”“item2” 127.0.0.1:6379> lrange list-key 0 -2“item” 127.0.0.1:6379> lindex list-key 1 “item2” 127.0.0.1:6379> lpop list-key “item”

    Redis中的集合

    Redis中的集合和列表都可以存储多个字符串,但是集合中每个字符串是各不相同的SADD(将元素添加到集合)SREM(从集合中移除元素)SISMEMBER(快速检查一个元素是否存在集合中)SMEMBERS(获取所有元素,但是集合包含大量元素时不推荐使用)

    127.0.0.1:6379> sadd set-key item (integer) 1 127.0.0.1:6379> sadd set-key item2 (integer) 1 127.0.0.1:6379> sadd set-key item3 (integer) 1 127.0.0.1:6379> sadd set-key item (integer) 0 127.0.0.1:6379> smembers set-key

    “item2”“item”“item3” 127.0.0.1:6379> SISMEMBER set-key item2 (integer) 1 127.0.0.1:6379> SISMEMBER set-key item (integer) 1 127.0.0.1:6379> SISMEMBER set-key item4 (integer) 0 127.0.0.1:6379> srem set-key item (integer) 1 127.0.0.1:6379> SMEMBERS set-key“item2”“item3”

    Redis中的散列

    Redis的散列可以村村多个键值对之间的映射散列存储的键可以是字符串又可以是数字值,用户同样可以对散列存储的数字值进行自增或者自减操作HSET(在散列里关联给定的键值对)HGET(获取指定散列键的值)HGETALL(获取散列中的所有键值对)HDEL(如果给定的键在散列中,那么移除这个键)

    127.0.0.1:6379> hset hash-key key1 val1 (integer) 1 127.0.0.1:6379> hset hash-key key2 val2 (integer) 1 127.0.0.1:6379> hset hash-key key1 val1 (integer) 0 127.0.0.1:6379> hgetall hash-key

    “key1”“val1”“key2”“val2” 127.0.0.1:6379> hdel hash-key key1 (integer) 1 127.0.0.1:6379> hgetall hash-key“key2”“val2” 127.0.0.1:6379> hget hash-key key1 (nil) 127.0.0.1:6379> hget hash-key key2 “val2” 127.0.0.1:6379>

    Redis中的有序集合

    有序集合和散列一样,都用于存储键值对

    有序集合里的值被称为分值,分值必须为浮点数

    有序集合是Redis中唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列顺序来访问元素的结构

    ZADD()将一个带有给定分值的成员添加到有序集合里面

    ZRANGE()数据元素在有序排序中所为的位置,从有序集合里获取多个元素

    ZRANGEBYSCORE()获取有序集合在给定范围内的所有元素

    ZREM()如果给定成员存在于有序集合,那么移除这个成员

    127.0.0.1:6379> zadd zset-key 728 meber1 (integer) 1 127.0.0.1:6379> zadd zset-key 89 member0 (integer) 1 127.0.0.1:6379> zrange zset-key 0 -1

    “member0”“meber1” 127.0.0.1:6379> zrange zset-key 0 -1 withscores“member0”“89”“meber1”“728” 127.0.0.1:6379> zrem zset-key member0 (integer) 1 127.0.0.1:6379> zrem zset-key member0 (integer) 0 127.0.0.1:6379> zrange zset-key 0 -1 withscores“meber1”“728”
    最新回复(0)