zoukankan      html  css  js  c++  java
  • Redis初探(windows/linux安装)

    最近在学习Redis,先看看简介

      Redis 是完全开源免费的,遵守BSD协议(可以自由的使用,修改源代码的协议,当然需要满足一定的条件),是一个高性能的key-value数据库。

    特点&&优点

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

      不仅支持key-value类型的数据,同时提供list,set,zset,hash等数据结构的存储。

      支持数据的备份,即master-slave模式的数据备份。

      支持丰富的特性,如publish/subscribe,通知,key过期等。

      性能及高,读110000次/s,写81000次/s。

      Redis的所有操作都是原子性的,要么成功执行,要么失败完全不执行(回滚)。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

    与其他key-value存储的不同点:

      数据结构更为复杂(并提供对他们的原子性操作),其数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

      Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。

      相比在磁盘上相同的复杂的数据结构,在内存中操作十分简单,可以做很多内部复杂性很强的事情。

    Redis的安装 

    Windows下安装:

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

      支持32位和64位,下载压缩包到本地,解压,重命名为Redis;

      打开命令行,切换到Redis目录,运行 redis-server.exe redis.windows.conf;

      此时再次打开命令行(第一个命令行不要关,关闭后无法访问服务端),切换到Redis目录下并运行redis-cli.exe -h 127.0.0.1 -p 6379 ;  

      设置键值对 set myKey xxx取出键值对 get myKey。

    Linux下安装:

      在终端下载Redis:

        $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz

      使用档案名字解压缩:

        $ tar xzf redis-2.8.17.tar.gz

      转到Redis路径:

        $ cd redis-2.8.17

      make:

        $ make

       启动redis服务:

        $ cd src

        ./redis-server

      

      

     补充:什么是原子性,什么是原子性操作

    例:
    A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作: 

      从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。

      在B的帐户里加1000块钱。如果B的帐户如果原来有2000块钱,现在则变成3000块钱了。
      如果在A的帐户已经减去了1000块钱的时候,忽然发生了意外,比如停电什么的,导致转帐事务意外终止了,而此时B的帐户里还没有增加1000块钱。那么,我们称这个操作失败了,要进行回滚。回滚就是回到事务开始之前的状态,也就是回到A的帐户还没减1000块的状态,B的帐户的原来的状态。此时A的帐户仍然有3000块,B的帐户仍然有2000块。
      如果把一个事物看做一个程序,它要么完整的被执行,要么完全不执行,这种特性就叫做原子性。

      我们把这种要么一起成功(A账户成功减少1000,B账户成功增加1000),要么一起失败(A账户回到原来的状态,B账户也回到原来的状态)的操作叫原子性操作。  

  • 相关阅读:
    Java集合中迭代器
    java 基础归纳总结(三)
    java 基础归纳总结(二)
    java 基础归纳总结(一)
    python之hashlib模块
    python之configparser模块
    Python之time模块
    python之os模块
    python之random模块
    python generator(生成器)
  • 原文地址:https://www.cnblogs.com/zlnevsto/p/8549741.html
Copyright © 2011-2022 走看看