liutanyu
V2EX  ›  Redis

redis到底是个什么东西?

  •  
  •   liutanyu · Jan 5, 2012 · 9278 views
    This topic created in 5423 days ago, the information mentioned may be changed or developed.
    和hadoop这些mapreduce一样吗?看介绍总也不明白
    23 replies  •  1970-01-01 08:00:00 +08:00
    tao_sky
    tao_sky
    Jan 5, 2012
    1
    nosql,KV数据库。
    Livid
    Livid
    MOD
    PRO
    Jan 5, 2012
    2
    支持多种语言客户端的数据结构服务器。

    比如你可以把一个 Python 的 list 存入 Redis,然后在 Perl 里读出来,依然是一个 list。

    或者你可以让不同的客户端共用一个计数器,而这个计数器就是存储在 Redis 中的一个整数对象。

    Redis 提供了非常多类型的数据结构存储可能。
    virushuo
    virushuo
    Jan 5, 2012
    3
    除了上面说的,redis还有一些特殊之处,它完全保存在内存中,同步到存储。这样可以让redis非常快,也可以取代memcached做对象缓存。使用上的方式也有一些区别,为了防止断电丢失数据,除了依靠aof,还需要做数据同步,redis可以方便在不同节点间同步数据。
    Los
    Los
    Jan 5, 2012
    4
    有 C++ 开发经验的话你会感觉很亲切,对应 STL 的 set,list 之类的
    est
    est
    Jan 5, 2012
    5
    数据结构存储器
    tioover
    tioover
    Jan 5, 2012
    6
    高速的内存数据库
    binux
    binux
    Jan 5, 2012
    7
    目前用到的特性: kv数据库,内存数据库,大量的数据结构,可持久化
    haohaolee
    haohaolee
    Jan 5, 2012
    8
    如果是数据结构存储器,那是不是就是一种序列化解决方案?那和protocol buffers比较呢
    aisk
    aisk
    Jan 5, 2012
    9
    数据结构存储 支持大量的指令对保存的数据类型进行操作,比如对带权重的列表中的某一项权重+1
    reus
    reus
    Jan 6, 2012 via Android
    10
    不是解决序列化问题的,
    能表示的数据结构有限
    容器的键和值都只能是字符串,容器不能嵌套
    aisk
    aisk
    Jan 6, 2012
    11
    @reus “只能是字符串”这个不太认可,这个可以由各个语言的client将各自的数据类型序列化成对应的类型吧
    reus
    reus
    Jan 6, 2012 via Android
    12
    @aisk http://redis.io/topics/data-types 看每个容器类型的第一句,xxx of String
    序列化输出的也是字符串
    aisk
    aisk
    Jan 7, 2012
    13
    @reus 你的意思是没有传统数据库的整形日期型等等,全部以字符串存储占据空间太大?
    reus
    reus
    Jan 7, 2012
    14
    @aisk 不是
    iammutex
    iammutex
    Jan 7, 2012
    15
    aisk
    aisk
    Jan 7, 2012
    16
    @reus 那是?
    j
    j
    Jan 7, 2012
    17
    {}
    reus
    reus
    Jan 8, 2012
    18
    @aisk 意思就只是它的容器只能存字符串。如果容器可以嵌套容器,就更好了,作为一个数据结构服务器就更完美了
    Ricepig
    Ricepig
    Jan 8, 2012
    19
    memcache加上持久化特性

    可以这么理解吧?哈哈
    chloerei
    chloerei
    Jan 8, 2012
    20
    @Ricepig memcache 没有List Hash Sets这些数据结构。
    aisk
    aisk
    Jan 8, 2012
    21
    @reus 这种操作应该通过类似id的方式,将容器中的某个值和其他容器关联起来吧
    reus
    reus
    Jan 8, 2012
    22
    @aisk 是的。不过开销大很多了
    aisk
    aisk
    Jan 8, 2012
    23
    @reus 如果内部实现嵌套其他容器,也是会使用这种类似指针的方式把另外的容器关联进某个容器的值里吧,和这样做并没有什么区别。你说的开销大很多只能是客户端多一次网络连接的开销了,我觉得这并不大,并且可以用pipeline的方式打包发送查询来节省网络开销
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2420 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 04:54 · PVG 12:54 · LAX 20:54 · JFK 23:54
    ♥ Do have faith in what you're doing.