• Redis应用


    Redis介绍

          数据库主要类型有对象数据库,关系数据库,键值数据库等等,对象数据库太超前了,现阶段不提也罢;关系数据库就是平常说的MySQL,PostgreSQL这些熟的不能再熟的东西,至于键值数据库则是本文要着重说的,其代表主要有MemcacheDB,Tokyo Cabinet等等。

          Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT)等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。

          官方手册

    安装redis-server

    http://github.com/antirez/redis

    tar zxvf redis.tar.gz
    cd redis
    make

    由于没有make install,所以得把源代码目录里的关键文件手动复制到适当的位置:

    cp redis.conf /etc/   #具体的配置参数可以到 /etc/redis.conf 进行设置,包括IP、Port、最大连接数、Master
    cp redis-benchmark redis-cli redis-server /usr/bin/

    测试运行:

    redis-server /etc/redis.conf

    确认运行了之后,可以用redis-benchmark命令测试看看,还可以通过redis-cli命令实际操作一下,比如:

    redis-cli set foo bar
    OK
    redis-cli get foo
    bar

    在安装目录下面有:

    /client-libraries/  这里面有各种客户端的库,ruby、python等,你可自己单独安装所需client

    具体的安装、测试,详见:

    http://code.google.com/p/redis/wiki/QuickStart

    安装redis-client:

    redis-py:
    http://github.com/andymccurdy/redis-py/

     

    测试使用:

    >>> import redis
    >>> r = redis.Redis(host='localhost', port=6379, db=0)
    >>> r.set('foo', 'bar')   # or r['foo'] = 'bar'
    True
    >>> r.get('foo')   # or r['foo']
    'bar'

    注意:保证你的版本基本属于最新版本,这样才能保证client正常调用server。

    应用场景:

           1)键值存储

           2)临时队列

           内存中临时处理的数据,比如常用的队列,如果使用关系数据库,则需要将数据从db调入内存,然后再处理db,频繁的访问db,效率必然不高。但是有了redis,我们可以方便的对一些临时数据进行处理,而且其支持文件持久化,哪怕中间出现当机,restart之后,将之前的数据重新加载,可谓:方便、高效、安全。

  • 相关阅读:
    Visio使用遇到的问题
    UML类图符号 各种关系说明以及举例
    测试人员与开发人员之间的关系如何?
    linux命令学习-复制(cp,scp)
    linux服务器报Too many open files的解决方法
    QTP学习一添加默认的注释及调用外部vbs文件
    关于JAVA应用中文字体显示小方框的问题解决
    web测试方法总结
    linux命令学习-su
    Oracle定义varchar2()类型存储汉字的长度问题
  • 原文地址:https://www.cnblogs.com/yank/p/1715441.html
Copyright © 2020-2023  润新知