• Redis学习笔记(一)


    一、Redis的特点及优势

    Redis是一个开源的使用C语言编写、开源、支持网络、可基于内存也可以持久化的日志型、高性能的Key-Value数据库,并提供多种语言的API。

    Redis通常被称为数据结构服务器,因为值(value)可以是 字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

    Redis 与其他 key-value缓存产品有以下三个特点:

      1.Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载进行使用。

      2.Redis不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储。

      3.Redis支持数据的备份,即master-slave主从模式的数据备份

    Redis的优势:

      1.性能极高:Redis读的速度是110000次/s,写的速度是81000次/s

      2.丰富的数据类型:Redis支持二进制案例的Strings、Lists、Hashs、Sets、Zsets数据类型操作。

      3.操作原子性:Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

      4.丰富的特性:发布订阅模式、key自动过期

    二、Redis安装、启动、退出、设置密码、远程连接

    1、安装Redis

    下载Redis安装包(如:redis-2.8.17.tar.gz)

    tar -zxvf redis-2.8.17.tar.gz
    cd redis-2.8.17
    make
    sudo make install

    2、后台启动服务端

    nohup redis-server &

    注意:redis-server 默认启动端口是6397,没有密码

    如果不使用默认配置文件,启动时可以加上配置文件

    nohup redis-server  ~/soft/redis-2.8.17/redis.conf &

    3、启动客户端、验证

    127.0.0.1:6379> ping
    PONG
    
    127.0.0.1:6379> set var "hello world"
    OK
    127.0.0.1:6379> get var
    "hello world"

    4、退出

    关闭redis-server

    redis-cli shutdown

    例子

    $ps -ef | grep redis
    root     23422 19813  0 10:59 pts/5    00:00:08 redis-server *:6379
    
    $sudo redis-cli  shutdown
    [23422] 05 Mar 12:11:29.301 # User requested shutdown...
    [23422] 05 Mar 12:11:29.301 * Saving the final RDB snapshot before exiting.
    [23422] 05 Mar 12:11:29.314 * DB saved on disk
    [23422] 05 Mar 12:11:29.314 # Redis is now ready to exit, bye bye...
    [1]+  Done                    sudo redis-server  (wd: ~/soft/redis-2.10.3)
    (wd now: ~/soft/redis-2.8.17)
    
    $ps -ef | grep redis
    myredis 30563 19813  0 12:11 pts/5    00:00:00 grep redis

    注意:如果设置上密码后,单纯的redis-cli是关不掉的,必须加上ip、port、password

    sudo redis-cli -h host -p port -a passwd shutdown

    退出客户端

    localhost:6379> QUIT

    5、设立密码

    打开redis.conf找到requirepass,去掉默认,修改

    requirepass yourpassword

    验证密码正确性

    localhost:6379> auth myredis
    OK

    6、远程连接

    需要已经安装redis, 可以使用redis-cli命令

    redis-cli -h host -p port -a password

    7、查看redis-server统计信息

    INFO

    三、Redis key

    Redis是key-value的数据库,Redis的键用于管理Redis的键,基本语法是

    COMMAND KEY_NAME

    例子

    localhost:6379> SET var redis
    OK
    localhost:6379> GET var
    "redis"
    localhost:6379> DEL var
    (integer) 1
    localhost:6379> GET var
    (nil)

    注意:redis命令不区分大小写,所以get var和GET var是等价的

    DEl key 该命令用于在 key 存在时删除key
    DUMP key 序列化给定的 key,并返回被序列化的值
    EXISTS key 检查给定 key 是否存在
    EXPIRE key seconds 为 key 设置过期时间
    EXPIREAT key timestamp  EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
    PEXPIRE key milliseconds  设置 key 的过期时间亿以毫秒计。
    PEXPIREAT key milliseconds-timestamp  设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
    KEYS pattern  查找所有符合给定模式( pattern)的 key 。例如keys * 返回所有的key
    MOVE key db  将当前数据库的 key 移动到给定的数据库 db 当中。
    PERSIST key  移除 key 的过期时间,key 将持久保持。
    PTTL key  以毫秒为单位返回 key 的剩余的过期时间。
    TTL key  以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
    RANDOMKEY  从当前数据库中随机返回一个 key 。
    RENAME key newkey  修改 key 的名称
    RENAMENX key newkey  仅当 newkey 不存在时,将 key 改名为 newkey 。
    TYPE key  返回 key 所储存的值的类型。
  • 相关阅读:
    演讲-自我认识
    App Store--心酸的上线路,说说那些不可思议的被拒理由
    100个iOS开发/设计面试题汇总
    APP store 上架过程中碰到的那些坑&被拒的各种奇葩原因整理&审核指南中文版
    iOS图片攻略之:有3x自动生成2x 1x图片
    iOS多语言备选机制
    程序员如何提高自己》
    initWithFrame 和 initWithCoder
    黑客界大拿tombkeeper文章:怎么学好技术成为技术大拿(题目我自拟的)
    程序员常去的国外开发社区
  • 原文地址:https://www.cnblogs.com/be-thebest/p/10375768.html
Copyright © 2020-2023  润新知