Redis简述

作者: 吃猫的鱼0 | 来源:发表于2018-01-03 10:02 被阅读0次

    Redis:Redis 是完全开源免费的,遵守BSD协议,是一个高性能单线程基于内存的key-value数据库。

    • REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
    • Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
    • 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(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, Hashes, Sets 及 Ordered Sets 数据类型操作。
    3. 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
    4. 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    安装

    Window 下安装

    下载地址:https://github.com/MSOpenTech/redis/releases

    Linux 下安装

    下载地址:http://redis.io/download,下载最新文档版本。

    Ubuntu 下安装

    在 Ubuntu 系统安装 Redi 可以使用以下命令:

    $sudo apt-get update
    $sudo apt-get install redis-server
    

    Mac 下安装

    官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0

    1. 官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0
    2. sudo mv 到 /usr/local/
    3. sudo tar -zxf redis-3.2.0.tar 解压文件
    4. 进入解压后的目录 cd redis-3.2.0
    5. sudo make test 测试编译
    6. sudo make install

    可视化工具

    • redis desktop manager

    下载地址:https://redisdesktop.com/download

    简单命令

    启动 Redis

    $ redis-server
    

    查看 redis 是否启动?

    $ redis-cli
    

    在远程服务上执行命令

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

    key的简单命令

    1. DEL key
      该命令用于在 key 存在时删除 key。
    2. DUMP key
      序列化给定 key ,并返回被序列化的值。
    3. EXISTS key
      检查给定 key 是否存在。
    4. EXPIRE key seconds
      为给定 key 设置过期时间。
    5. EXPIREAT key timestamp
      EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
    6. PEXPIRE key milliseconds
      设置 key 的过期时间以毫秒计。
    7. PEXPIREAT key milliseconds-timestamp
      设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
    8. KEYS pattern
      查找所有符合给定模式( pattern)的 key 。
    9. MOVE key db
      将当前数据库的 key 移动到给定的数据库 db 当中。
    10. PERSIST key
      移除 key 的过期时间,key 将持久保持。
    11. PTTL key
      以毫秒为单位返回 key 的剩余的过期时间。
    12. TTL key
      以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
    13. RANDOMKEY
      从当前数据库中随机返回一个 key 。
    14. RENAME key newkey
      修改 key 的名称
    15. RENAMENX key newkey
      仅当 newkey 不存在时,将 key 改名为 newkey 。
    16. TYPE key
      返回 key 所储存的值的类型。

    redis中的事务

    redis中也是有事务的,不过这个事务没有mysql中的完善,只保证了一致性和隔离性,不满足原子性和持久性。
    redis事务使用multi、exec命令

    • 原子性,redis会将事务中的所有命令执行一遍,哪怕是中间有执行失败也不会回滚。kill信号、宿主机宕机等导致事务执行失败,redis也不会进行重试或者回滚。
    • 持久性,redis事务的持久性依赖于redis所使用的持久化模式,遗憾的是各种持久化模式也都不是持久化的。
    • 隔离性,redis是单进程,开启事务之后,会执行完当前连接的所有命令直到遇到exec命令,才处理其他连接的命令。

    相关文章

      网友评论

        本文标题:Redis简述

        本文链接:https://www.haomeiwen.com/subject/clnlnxtx.html