• redis小记


    Redis是一个key-value存储系统。和 Memcached类似,但是解决了断电后数据完全丢失的情况(因为它还可以支持持久化),Redis 是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store)。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(hashes), 列表(list), 集合(sets)有序集合(sorted sets)等类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作, 而且这些操作都是原子性的。

    更多学习可以参考 http://www.cnblogs.com/yanghuahui/p/3696400.html

    今天碰到的一点redis小问题,记录一下。一台服务器上的redis没有密码,虽然只是测试环境,但是为了安全,还是决定要重新启动一个带密码的redis实例,以替代原来的。

    原来的redis是2.8.8版本,换了最新的3.0.5,将压缩包放到同一目录下之后解压,然后在3.0.5目录下执行makeinstall。

    因为之前的已经配置成开机启动,可以直接用redis-server启动命令,所以想通过指定3.0.5的redis.conf文件启动一个3.0.5的redis实例,但是当时因为conf文件中路径问题,一直没有启动成功,转而以redis-server --port 6380 启动了一个redis进程,但是显示的居然是3.0.5版本,因为这种没有指定conf文件的启动进程是按照默认conf启动的,默认的conf应该是之前2.8.8。

    后来一想,应该是服务器上的redis被3.0.5给覆盖了的原因吧?

    将新的conf里面的各种路径都配置完成后,启动成功。主要配置有

    1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

        daemonize no

    2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

        pidfile /var/run/redis.pid

    3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字

        port 6379

    4. 绑定的主机地址

        bind 127.0.0.1

    5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

        timeout 300

    6. 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose

        loglevel verbose

    7. 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null

        logfile stdout

    8. 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id

        databases 16

    9. 指定本地数据库文件名,默认值为dump.rdb

        dbfilename dump.rdb

    10. 指定本地数据库存放目录

        dir ./

    11. 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭

        requirepass foobared

    更多配置,请参考http://www.cnblogs.com/wenanry/archive/2012/02/26/2368398.html

    然后,redis-cli -p 6380启动客户端,即可进行redis的使用,更多redis命令也可以学习第一个链接。

  • 相关阅读:
    python 初始化Logger
    常用python库
    [转]统计代码行数
    [转]Python模块学习:threading 多线程控制和处理
    [转] GIL 与 Python 线程的纠葛
    [转]Stackoverflow about Python
    清除方式日志收集
    逐行扫描的日志收集LogCollector
    [转]static和final的区别
    [转]Java中的abstract方法和abstract类的问题
  • 原文地址:https://www.cnblogs.com/govoid/p/4982397.html
Copyright © 2020-2023  润新知