首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Redis

类似 redis 或者 memcache 使用的时候如果将 key 统一做 md5 处理有什么好处呢,

  •  1
     
  •   Nicolay · 87 天前 · 5590 次点击
    这是一个创建于 87 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  87 天前
    或者 base64 处理,其实想问 key 长度一致是否有助于 redis 的内存管理,
    11 回复  |  直到 2019-07-22 13:51:12 +08:00
        1
    lihongjie0209   87 天前
    如果你想访问 user:* 怎么办
        2
    NewDraw   87 天前 via Android
    一楼的说法完美的回答了这个问题。
    数据混淆,防止泄密。
        3
    insert000   87 天前 via iPhone
    如果是高并发访问,md5 计算,cpu 会成为瓶颈
        4
    Lax   87 天前
    md5 冲突了怎么办?
    base64 长度会增加,而且长度不一致。
        5
    MeteorCat   87 天前 via Android
    不要总想这种骚操作,你每个请求还得加个 md5 过程
        6
    v2nika   87 天前
    感觉没有必要, 用 redis 要有分表的概念, 不同业务放在不同表里面, 这样不会有前缀, 都用 id 当 key 就好了
        7
    Hstar   87 天前
    建议看看 redis 的原理,搞懂 redis 是怎么做 hash map 的,就不会问这俩问题了。
        8
    yidinghe   87 天前 via Android
    有其他的高效哈希算法,比如 murmur2,但哈希毕竟不靠谱,还是不要用。
        9
    newghost   86 天前
    做过 redis 的二次开发,redis 就像一个数据结构存储数据库,本身是个大的 hash map 集合。
    在设计时为了考虑集群,将 key 都做了 hash 处理,这样 key 的分布就比较均匀,比较容易做负载均衡,
    将各个 key 对应到各个实例中。
    如果不考虑集群,直接存成一个有序列表就好了,key * 的性能也不会像现在这么差。
        10
    dafengchui   86 天前
    @MeteorCat #5 这不是骚操作,这是稍微商用点软件都需要考虑的问题,防止泄密,虽然是防君子不防小人.
        11
    ebingtel   86 天前
    说实话,如果明文的 key 长度不太长的话,做 md5 加密,没任何意义……如果 key 长度比较长,可以用 md5 缩短 key 的长度
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2805 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 11:54 · PVG 19:54 · LAX 04:54 · JFK 07:54
    ♥ Do have faith in what you're doing.