zoukankan      html  css  js  c++  java
  • 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之后,将之前的数据重新加载,可谓:方便、高效、安全。

  • 相关阅读:
    搭建ARL资产安全灯塔
    免杀技术发展史
    米酷CMS 7.0.4代码审计
    腾讯安全实习 应用运维安全面试
    Docker部署CTF综合性靶场,定时刷新环境
    西湖论剑2020MISC-Yusa_yyds
    (转)马云炮轰银行监管的解读
    ATT&CK 实战
    Docker环境复现利用Redis未授权访问漏洞 >> 批量扫描检测利用
    修改CH340芯片信息
  • 原文地址:https://www.cnblogs.com/yank/p/1715441.html
Copyright © 2011-2022 走看看