redis_chaptet3(set-hash)

这篇博客通过实例展示了 Redis 中 Set 和 Hash 的常用操作,包括添加元素、查看成员、交集并差集以及 Hash 的增删改查等。同时,博主强调了这些数据结构在用户信息存储和管理中的应用,特别是对于经常变动的数据,Hash 结构尤为适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##############################################

127.0.0.1:6379> sadd myset hello // 添加set 值

(integer) 1

127.0.0.1:6379> sadd myset xiaogang

(integer) 1

127.0.0.1:6379> sadd myset liming

(integer) 1

127.0.0.1:6379> SMEMBERS myset // 查看

1) "xiaogang"

2) "hello"

3) "liming"

127.0.0.1:6379> ISMEMBER myset world // 是否是成员

(error) ERR unknown command 'ISMEMBER'

127.0.0.1:6379> ISSMEMBER myset world

(error) ERR unknown command 'ISSMEMBER'

127.0.0.1:6379> SISMEMBER myset world

(integer) 0

127.0.0.1:6379> SISMEMBER myset hello // 是否是成员 SISMEMBER

(integer) 1

127.0.0.1:6379> SISMEMBER myset hello

##############################################

127.0.0.1:6379> scard myset // 查看个数

(integer) 3

127.0.0.1:6379> srem myset hello // 移除hell0

(integer) 1

127.0.0.1:6379> scard myset

(integer) 2

127.0.0.1:6379> SMEMBERS myset // 查看成员

1) "xiaogang"

2) "liming"

127.0.0.1:6379> SRANDMEMBER myset 2 // 随机查看两个

1) "xiaogang"

2) "liming"

127.0.0.1:6379> SRANDMEMBER myset 1 // 随机查看一个

1) "liming"

127.0.0.1:6379> SRANDMEMBER myset 1

1) "xiaogang"

127.0.0.1:6379> SRANDMEMBER myset 1

1) "xiaogang"

127.0.0.1:6379> SRANDMEMBER myset 1

127.0.0.1:6379> SMEMBERS myset

1) "xiaogang"

2) "liming"

127.0.0.1:6379> spop myset

"liming"

127.0.0.1:6379> SMEMBERS myset

1) "xiaogang"

127.0.0.1:6379> SMEMBERS myset

127.0.0.1:6379> sadd myset1 gang

(integer) 1

127.0.0.1:6379> smove myset myset2 liming

(integer) 0

127.0.0.1:6379> smove myset myset1 "xiaogang"

(integer) 1

127.0.0.1:6379> SMEMBERS myset // 移除完了 空了

(empty list or set)

127.0.0.1:6379> SMEMBERS myset1

1) "gang"

2) "xiaogang"

127.0.0.1:6379> smove myset myset1 "xiaogang" // 从一个移到另个myset1

###########################################

交集 并 差

SUNION SDIFF SINTER 微博 共同好友

共同关注 他的关注 关注他的 交集

二度好友 a-->b b-->c 二度推荐好友 a -- c

sdiff

sunio

sinter

###########################

hash

map 集合 key-map (map是一个键值对)


 

127.0.0.1:6379> hset myhash field1 kuangshen

(integer) 1

127.0.0.1:6379> hget

(error) ERR wrong number of arguments for 'hget' comman

127.0.0.1:6379> hget *

(error) ERR wrong number of arguments for 'hget' comman

127.0.0.1:6379> hget myhash

(error) ERR wrong number of arguments for 'hget' comman

127.0.0.1:6379> hget myhash field1

"kuangshen"

127.0.0.1:6379> hmset myhash field1 hello field2 world // 插入多个值 hset hmset多个值m

OK

127.0.0.1:6379> hget myhash field1

"hello"

127.0.0.1:6379> hmget myhash field1

1) "hello"

127.0.0.1:6379> hmget myhash field1 field2

1) "hello"

2) "world"

127.0.0.1:6379> hgetall myhash // huoqu jianzhi 获取键值对

1) "field1"

2) "hello"

3) "field2"

4) "world"

127.0.0.1:6379> hdel myhash field1 // 删除key 对应的map 也就没有了

(integer) 1

127.0.0.1:6379> hgetall myhash

1) "field2"

2) "world"

hlen myhash // 查看长度

127.0.0.1:6379> hmset myhash field1 ha dd

(error) ERR wrong number of arguments for HMSET

127.0.0.1:6379> hmset myhash field1 ha field2 dd

OK

127.0.0.1:6379> hgetall myhash

1) "field2"

2) "dd"

3) "field1"

4) "ha"

127.0.0.1:6379> HGETALL myhash

1) "field2"

2) "dd"

3) "field1"

4) "ha"

127.0.0.1:6379> helen myhash

(error) ERR unknown command 'helen'

127.0.0.1:6379> hlen myhash

(integer) 2

127.0.0.1:6379> hexit myhash field1

(error) ERR unknown command 'hexit'

127.0.0.1:6379> hexits myhash field1

(error) ERR unknown command 'hexits'

127.0.0.1:6379> HEXITS myhash field1

(error) ERR unknown command 'HEXITS'

127.0.0.1:6379> HEXISTS myhash field1

(integer) 1

127.0.0.1:6379> hkeys myhash

1) "field2"

2) "field1"

127.0.0.1:6379> hvalues myhash

(error) ERR unknown command 'hvalues'

127.0.0.1:6379> hvals myhash

1) "dd"

2) "ha"

127.0.0.1:6379> hset myhash field3 5

(integer) 1

127.0.0.1:6379> HINCRBY myhash field3 5

(integer) 10

127.0.0.1:6379> hsetnx myhash field4 hell

(integer) 1

127.0.0.1:6379> hsetnx myhash field4 hell444

(integer) 0

127.0.0.1:6379> hmset myhash field1 ha field2 dd

127.0.0.1:6379> hgetall myhash

1) "field2"

2) "dd"

3) "field1"

4) "ha"

127.0.0.1:6379> HGETALL myhash

1) "field2"

2) "dd"

3) "field1"

4) "ha"

127.0.0.1:6379> helen myhash

(error) ERR unknown command 'helen'

127.0.0.1:6379> hlen myhash

(integer) 2

127.0.0.1:6379> hexit myhash field1

(error) ERR unknown command 'hexit'

127.0.0.1:6379> hexits myhash field1

(error) ERR unknown command 'hexits'

127.0.0.1:6379> HEXITS myhash field1

(error) ERR unknown command 'HEXITS'

127.0.0.1:6379> HEXISTS myhash field1

(integer) 1

127.0.0.1:6379> hkeys myhash

1) "field2"

2) "field1"

127.0.0.1:6379> hvalues myhash

(error) ERR unknown command 'hvalues'

127.0.0.1:6379> hvals myhash

1) "dd"

2) "ha"

127.0.0.1:6379> hset myhash field3 5

(integer) 1

127.0.0.1:6379> HINCRBY myhash field3 5

(integer) 10

127.0.0.1:6379> hsetnx myhash field4 hell

(integer) 1

127.0.0.1:6379> hsetnx myhash field4 hell444

(integer) 0

127.0.0.1:6379> hset user:1 name qinjiang age 24

(error) ERR wrong number of arguments for 'hset' command

127.0.0.1:6379> hset user:1 name qinjiang

(integer) 1

127.0.0.1:6379> hset user:1 name qinjiang age 24

(error) ERR wrong number of arguments for 'hset' command

127.0.0.1:6379> hset user:1 name qinjiang user:2 age 24

(error) ERR wrong number of arguments for 'hset' command

127.0.0.1:6379> hset user:2 age 24

(integer) 1

127.0.0.1:6379> hget user:2 age

"24"

127.0.0.1:6379> hset user:1 name qinjiang user:2 age 24

// hash 尤其适合用户信息 经常变动的信息 更适合与对象的存储

//string 适合字符串的存储

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值