There is no place like ::1
Livid
406.45D
548.46D
V2EX  ›  IPv6

在数据库里存储 IPv6 地址的最佳做法是?

  •  
  •   Livid ·
    PRO
    · May 4, 2018 via iPhone · 13099 views
    This topic created in 3116 days ago, the information mentioned may be changed or developed.
    字符串?或者两个 64 位整数?
    17 replies  •  2023-09-15 19:16:46 +08:00
    lisonfan
    lisonfan
    May 4, 2018
    1
    字符串好一些吧
    fengyj
    fengyj
    May 4, 2018 via Android
    2
    觉得 64 位二进制好点,毕竟好约束。
    dobelee
    dobelee
    May 4, 2018 via Android
    3
    只是用作记录的话与 v4 一样字符串就 ok 了吧。毕竟存储成本是最低的。
    samray
    samray
    May 4, 2018
    4
    首先应该明确是什么数据库,如果是 postgresql, 已经内置了专门的数据类型来存储 IP 地址(ipv4 和 ipv6) https://www.postgresql.org/docs/9.1/static/datatype-net-types.html
    glues
    glues
    May 4, 2018
    5
    PostgreSQL 直接有 Network Address Types
    EPr2hh6LADQWqRVH
    EPr2hh6LADQWqRVH
    May 4, 2018
    7
    看具体实现喽,一看地址里面 0 到底多不多,二看实现里面有没有压缩这些 0 的处理
    moult
    moult
    May 4, 2018
    8
    借楼问一下,如果要实现 IPv6 的归属地数据表,该怎么存储。
    原来 IPv4 的话,存一个 begin 和 end,然后查询的时候 ip>=begin && ip<=end 即可。但是 IPv6 显然不行了。
    shiina
    shiina
    May 4, 2018❤️2
    9
    搜了一下, 发现了这个帖子 [doge]
    https://www.v2ex.com/t/66880
    zhsj
    zhsj
    May 5, 2018
    10
    没想到这个问题 3 年了,ipv6 还没普及。
    zhsj
    zhsj
    May 5, 2018
    11
    @zsj950618 5 年(
    rootx
    rootx
    May 5, 2018 via iPhone
    12
    没想到这个问题 5 年了,Livid 还没研究出来。
    lianyue
    lianyue
    May 5, 2018 via iPhone
    13
    存二进制 字符串 就好了
    fyyz
    fyyz
    May 5, 2018 via Android
    14
    就存字符串
    kaneg
    kaneg
    May 5, 2018 via iPhone
    15
    不管是存字符串还是数字型,都最好格式化成标准形式,以便于在日后使用过程中查找匹配可以应对各种输入形式
    hushao
    hushao
    Nov 21, 2019
    16
    +1 年,想知道 Livid @Livid 目前研究出来的方案是个啥?
    hanssx
    hanssx
    Sep 15, 2023
    17
    压缩到最小存储空间,16 位字符,每个字符 8 位,16*8=128 ,正好可以哎,但是每个字符表示 8 位,就会有不可见字符,64 种不同可能,2 的 6 次方,每个字符 6 位,128/6 除以不了。如果按照 64 进制来,128 位,给它补位到能整除的话,132/6=22 ,用 22 位存,末尾补 132-128=4 个零。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1923 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 02:30 · PVG 10:30 · LAX 18:30 · JFK 21:30
    ♥ Do have faith in what you're doing.