redis学习教程一《Redis的安装和配置》

redis学习教程一《Redis的安装和配置》

Redis的优点

以下是Redis的一些优点。

  • 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。
  • 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
  • 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
  • 多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。
 

环境:
     Ubuntu4.0以上系统
    jdk1.6以上
 

一:在Ubuntu上安装redis

  注:需先装java jdk环境
  检查是否安装:打开终端 java -version 显示对应的版本即为安装

  1.1:安装jdk
     
     方式1:打开终端  :sudo apt-get install openjdk-7-jdk   要求联网

     方式2:未联网的情况下安装jdk  http://www.cnblogs.com/madyina/p/3705520.html 参照即可
    
     完成后:检测 java -version显示版本为安装成功
 
 1.2:安装redis
      
      1: sudo apt-get update 
      2: sudo apt-get install redis-server   开始安装
        注:sudo需要root权限  提示需求root管理员操作时:切换到root管理员即可
             2.1:  su root  提示输入root和密码即可  
                root密码忘记修改方式:
                终端输入命令  sudo passwd ,然后输入当前用户的密码,enter,终端会提示我们输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令  su root ,再输入新的密码就ok了。
 1.3:启动redis

      1: redis-server 

      2:检测是否已启动   redis-cli   提示reds ip  端口号为正常启动    ping 是否能正常连接

  1.4:redis配置
       
        在Redis中,在Redis的根目录下有一个配置文件(redis.conf)。当然您可以通过Redis CONFIG命令获取和设置所有的       Redis配置。

        语法
           以下是Redis中的CONFIG命令的基本语法。

                                        
    CONFIG GET CONFIG_SETTING_NAME 
    示例:CONFIG GET loglevel  

       要获取所有配置设置,请使用 *代替CONFIG_SETTING_NAME 
        

      要更新配置,可以直接编辑redis.conf文件,也可以通过 CONFIG set 命令更新配置。

        语法
             以下是CONFIG SET命令的基本语法。

                 
     CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE 
     示例:CONFIG SET loglevel "notice"  
       

二:安装redis可视化工具<redis-desktop-manager>

        网址:https://pan.baidu.com/s/1cA3jWU下载安装即可
        安装教程:http://blog.csdn.net/u013410747/article/details/51706964

三: 数据类型

     1: 字符串
          Redis中的字符串是一个字节序列。Redis中的字符串是二进制安全的,这意味着它们的长度不由任何特殊的终止字符决定。
       因此,可以在一个字符串中存储高达512兆字节的任何内容。 
       示例:  set name "yiibai.com"  

       查询: get name    关键字: get 
          在上面的示例中,setget是Redis命令,name是Redis中使用的键,yiibai.com是存储在Redis中的字符串        的值。注 - Redis命令不区分大小写,如SET,Setset都是同一个命令。字符串值的最大长度为 512MB。
 
     2:散列/哈希/对象
           Redis散列/哈希(Hashes)是键值对的集合。Redis散列/哈希是字符串字段和字符串值之间的映射。因此,它们用于表示对
        象。
        示例:  HMSET ukey username "yiibai" password "passswd123" points 200 

          查询:  HGETALL ukey   关键字: hgetall 
          在上述示例中,散列/哈希数据类型用于存储包含用户的基本信息的用户对象。这里HMSETHGETALL是Redis的命令,
       而ukey是键的名称。每个散列/哈希可以存储多达2^32 - 1个健-值对(超过40亿个)。

    3:列表
        Redis列表只是字符串列表,按插入顺序排序。您可以向Redis列表的头部或尾部添加元素。 有序存在重复对象
   
  示例:lpush alist redis  
       lpush alist mongodb
       lpush alist sqlite

       
             查询:lrange alist 0 10   关键字:lrange 
          上诉示例中,向alist添加了三个字符串对象,列表的最大长度为2^32 - 1个元素(4294967295,每个列表可容纳超
       过40亿个元素)。

   4:集合
         Redis集合是字符串的无序集合。在Redis中,您可以添加,删除和测试成员存在的时间O(1)复杂性。无序不存在重复对象
     
 示例: sadd yiibailist redis  
       sadd yiibailist mongodb 
       sadd yiibailist sqlite 
       sadd yiibailist sqlite   // 注:添加失败 重复sqlite 

          
             查询: smembers yiibailist    关键字: smembers  
             上诉示例中 注意 - 在上面的示例中,sqlite被添加了两次,但是由于集合的唯一属性,所以它只算添加一次。一个
          集合中的最大成员数量为2^32 - 1(即4294967295,每个集合中元素数量可达40亿个)个。
 
     5:可排序集合
              Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个
          分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复
     
 示例: zadd  ulist  0 redis
       zadd  ulist  1 redis1 
       zadd  ulist  2 redis2 

          
              查询: ZRANGEBYSCORE ulist    关键字: ZRANGEBYSCORE   
              上诉示例中  插入是 0 1 2  查询时,倒序显示  


四:在远程服务器上运行命令 (连接远程服务器上的redis)

       要在Redis远程服务器上运行命令,需要通过客户端redis-cli连接到服务器
   
  示例:redis-cli -h host -p port -a password 

     以下示例显示如何连接到Redis远程服务器,host为ip号  port为端口号 password为密码


五:Redis键命令

     Redis键命令用于管理Redis中的键。以下是使用redis键命令的语法。
     语法:
          COMMAND KEY_NAME   command:表示基本命令 基本命令如下
 下表列出了与键相关的一些基本命令。
      
编号 命令 描述
1 DEL key 此命令删除一个指定键(如果存在)。
2 DUMP key 此命令返回存储在指定键的值的序列化版本。
3 EXISTS key 此命令检查键是否存在。
4 EXPIRE key seconds 设置键在指定时间秒数之后到期/过期。
5 EXPIREAT key timestamp 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。
6 PEXPIRE key milliseconds 设置键的到期时间(以毫秒为单位)。
7 PEXPIREAT key milliseconds-timestamp 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。
8 KEYS pattern 查找与指定模式匹配的所有键。
9 MOVE key db 将键移动到另一个数据库。
10 PERSIST key 删除指定键的过期时间,得永生。
11 PTTL key 获取键的剩余到期时间。
12 RANDOMKEY 从Redis返回一个随机的键。
13 RENAME key newkey 更改键的名称。
14 PTTL key 获取键到期的剩余时间(以毫秒为单位)。
15 RENAMENX key newkey 如果新键不存在,重命名键。
16 TYPE key 返回存储在键中的值的数据类型。