ZBLOG

"ipv4Addresses": ["192.168.1.1", "10.0.0.1"] 这个格式要怎么存储到redis里

在 Redis 中存储 JSON 数据或数组时,有几种常用的方法。以下是两种常见的方式来存储 ipv4Addresses 数组:

1. 使用字符串形式存储

将数组序列化为 JSON 字符串,然后将其作为一个字符串值存储。

示例代码(Python)

import redis
import json

# 连接到 Redis
r = redis.Redis(host='localhost', port=6379, db=0)

# ipv4Addresses 数组
ipv4_addresses = ["192.168.1.1", "10.0.0.1"]

# 序列化为 JSON 字符串
ipv4_addresses_json = json.dumps(ipv4_addresses)

# 存储到 Redis,使用 key 'my_ip_addresses'
r.set('my_ip_addresses', ipv4_addresses_json)

# 从 Redis 获取并反序列化
retrieved_data = r.get('my_ip_addresses')
retrieved_ipv4_addresses = json.loads(retrieved_data)

print(retrieved_ipv4_addresses)  # 输出: ['192.168.1.1', '10.0.0.1']

2. 使用集合类型 (Set)

如果你希望避免重复的 IP 地址,可以使用 Redis 的集合(Set)类型。这样可以确保每个地址都是唯一的。

示例代码(Python)

import redis

# 连接到 Redis
r = redis.Redis(host='localhost', port=6379, db=0)

# ipv4Addresses 数组
ipv4_addresses = ["192.168.1.1", "10.0.0.1"]

# 存储到 Redis 集合中,使用 key 'my_ip_set'
for ip in ipv4_addresses:
    r.sadd('my_ip_set', ip)

# 从 Redis 获取所有 IP 地址
retrieved_ipv4_addresses = r.smembers('my_ip_set')

# 转换为列表并打印输出(注意:smembers 返回的是字节)
print([ip.decode() for ip in retrieved_ipv4_addresses])  # 输出: ['192.168.1.1', '10.0.0.1']

总结:

  • 如果不需要去重且希望以数组形式访问数据,可以选择第一种方法,直接存储为 JSON 字符串。
  • 如果需要管理唯一性,则可以考虑使用集合类型。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=21275

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?