相关演示代码如下:
// 执行集合类型多个集合相关操作 func executeSetMutiOperation(conn redis.Conn) { // 删除原有值 handleResult(redis.Int(conn.Do("DEL", "source_1", "source_2", "source_3", "destination"))) // 初始化 handleResult(redis.Int(conn.Do("SADD", "source_1", 1, 2, 4, 8))) handleResult(redis.Int(conn.Do("SADD", "source_2", 2, 3, 4, 5))) handleResult(redis.Int(conn.Do("SADD", "source_3", 5, 6, 7, 8))) // 返回三个集合的差集,输出 -> [1] handleResult(redis.Ints(conn.Do("SDIFF", "source_1", "source_2", "source_3"))) // 将三个集合的差集存储到 destination 中,输出 -> 1,destination 变为 -> 1 handleResult(redis.Int(conn.Do("SDIFFSTORE", "destination", "source_1", "source_2", "source_3"))) // 返回两个集合的交集,输出 -> [2 4] handleResult(redis.Ints(conn.Do("SINTER", "source_1", "source_2"))) // 将两个集合的交集存储到 destination 中,输出 -> 2,destination 变为 -> 2 4 handleResult(redis.Int(conn.Do("SINTERSTORE", "destination", "source_1", "source_2"))) // 返回三个集合的并集,输出 -> [1 2 3 4 5 6 7 8] handleResult(redis.Ints(conn.Do("SUNION", "source_1", "source_2", "source_3"))) // 将三个集合的并集存储到 destination 中,输出 -> 8,destination 变为 -> 1 2 3 4 5 6 7 8 handleResult(redis.Int(conn.Do("SUNIONSTORE", "destination", "source_1", "source_2", "source_3"))) } 哈希表 P46 用于添加和删除键值对的散列操作 P47 命令 格式 描述HMGET HMGET key field [field ...] 从哈希表中获取一个或多个 field 的值
HMSET HMSET key field value [field value ...] 向哈希表中设置一个或多个 field 的值
HDEL HDEL key field [field ...] 从哈希表中删除一个或多个 field 的值
HLEN HLEN key 返回哈希表中包含的 field 的数量
相关演示代码如下:
// 执行哈希表类型相关操作 func executeHashOperation(conn redis.Conn) { // 删除原有值 handleResult(redis.Int(conn.Do("DEL", "hash"))) // 向哈希表中设置一个或多个 field 的值,输出 -> OK,hash 变为 -> {field_1: value_1, field_2: value_2, field_3: value_3} handleResult(redis.String(conn.Do("HMSET", "hash", "field_1", "value_1", "field_2", "value_2", "field_3", "value_3"))) // 从哈希表中获取一个或多个 field 的值,输出 -> [value_1 value_3 value_2] handleResult(redis.Strings(conn.Do("HMGET", "hash", "field_1", "field_3", "field_2"))) // 从哈希表中删除一个或多个 field 的值,输出 -> 2,hash 变为 -> field_2: value_2} handleResult(redis.Int(conn.Do("HDEL", "hash", "field_1", "field_3"))) // 返回哈希表中包含的 field 的数量,输出 -> 1 handleResult(redis.Int(conn.Do("HLEN", "hash"))) } 哈希表的更高级特性 P47 命令 格式 描述HEXISTS HEXISTS key field 判断 field 是否存在于哈希表中
HKEYS HKEYS key 返回哈希表中所有的 field
HVALS HVALS key 返回哈希表中所有 field 的值
HGETALL HGETALL key 返回哈希表中所有的 field 及其值
HINCRBY HINCRBY key field increment 将哈希表中 field 的值增加整数 increment
HINCRBYFLOAT HINCRBYFLOAT key field increment 将哈希表中 field 的值增加浮点数 increment