溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux命令操作和redis安裝使用的方法是什么

發布時間:2022-10-20 16:54:59 來源:億速云 閱讀:278 作者:iii 欄目:建站服務器

本文小編為大家詳細介紹“Linux命令操作和redis安裝使用的方法是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Linux命令操作和redis安裝使用的方法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

電腦操作系統 : windows7,8,10,xp,win98
      操作系統 : linux ax unix
    以后開發項目是部署在服務器上,服務器一般采用linux.
    linux的優點:系統穩定,操作速度快,系統安全..
    linux可以部署 : 數據庫 tomcat 緩存(redis).....
  1.如果安裝虛擬機,必須把金山毒霸,360防護退出(禁用vmware程序)
  
  指令:
    通用語法:
      命令后面不接 ./  或者  ../  表示是當前目錄.
      ./ 表示當前目錄
      ../表示上一層目錄
      /表示根目錄 
      
      clear清屏
      
  磁盤管理:
    ls list 顯示目錄下的數據:
      -l : 詳細列別
      -r : 反序
      -t : 日期
      需要記住的是 ll
      ll -a
      -a : 表示所有文件都顯示.
    cd change 切換目錄:
      路徑滿足通用語法.
      ~ 表示 : 當前用戶的目錄,cd~回到用戶目錄 cd 跟 cd~一樣.
      cd - : 回調剛才所在目錄.
    pwd : 顯示當前所在目錄.
    mkdir -p : 批量創建文件夾
  文件瀏覽:
    cat : 顯示所有的內容,如果內容過多,沒辦法看完.
      cat 文件名.
    more : 查詢文件的內容.
      more 文件
      空格 下一頁
      b 上一頁
      回車 一行
      q 退出
    less 查看文件內容
      less 文件
      空格 下一頁
      b 上一頁
      回車 一行
      q 退出
       
       進入以后可以進行 在翻頁的時候 進行(/字符串 向下搜索,?字符串 向上搜索) ?字符串 向上搜索   /字符串 向下搜索
      參數:
        -m 百分比
        -N 行號
          
    tail 查看文件末尾內容:
      tail-數字 文件名 查看最后指定的條數.
      參數 -f循環讀取.
      (重要 可以動態查看文件末尾的內容,開發中往日志里寫數據)
      
      此處模擬過程
      往一個文件動態循環寫數據,使用tail指令動態查看數據.
      ping 用來測試連通性.
      ping 127.0.0.1>ip.log 將ping的命令打印內容輸出到文件中去
      例如: 127.0.0.1>ip.log & : 表示后臺運行
      tail -f ip.log  : 循環讀取文件ip.log里面的內容,并顯示在控制臺上
    
  文件操作:
    cp 復制 復制并重命名 copy
      cp 文件 路徑 表示復制
      cp 文件 路徑/新文件名稱   表示復制并重命名
      -r : 表示遞歸
    mv  move
      mv 文件 路徑 表示 移動.
      mv 文件 路徑/新文件名稱   表示移動并重命名.
      -f表示強制
    rm remove 刪除
      rm-fr 文件名 可以刪除一切
    find 查找
      find 路徑 -name 文件名稱
      find 路徑 -name '*...'
  文檔編輯:
    vi vim 命令一摸一樣
      vi 相當于txt
      vim 相當于 note++
  vim : 有三種模式
    一般模式 : 能看不能輸入內容,進入文件默認是一般默認,按i或者a或者o切換,到編輯默認 按:切換到行底模式.
    編輯模式 : 可以輸入內容 如果編寫完了,按esc表示退回到一般模式.
    行底模式 : 可以輸入 registry-zookeeper:wq  退出保存  :q! 退出不保存.
    退出,先按esc ,再按 Shift+:   ,q! 或者wq
  一般模式有特點:
    yy復制  p 粘貼  dd 刪除一行.
    nyy 復制多行 ndd刪除多行.
    gg 第一行 shift + g 最多一行.
  管道 | 
    作用 : 將兩個命令合成一個命令  命令1|命令2
  
  grep 正則匹配 過濾
    語法 1: grep-i 過濾的字符 文件名稱
    語法 2: 命令1|grep-i 過濾的字符  需要匹配不同內容  輸出不同的值
    前面命令1的內容 作為了后面過濾的依據.
  
  
  
  系統命令:
    ps-ef 查看所有的進程
    以后的用法:
      ps-ef|grep-i 過濾的字符
    kill 殺死
    kill pid 終止進程
    kill-9 pid 殺死進程
    
    ifconfig 查看當前ip
    ping 測試連通性
    
  備份壓縮:
    參數不可以改變順序:
    tar -zcvf 文檔名 文件    壓縮
    tar -zxvf 文檔名     解壓縮
  
  關機重啟(忽略)
    重啟 reboot
    關機 halt
    
    shutdown -r 時間 重啟
    shutdonw -h 時間 關機
  
  文件權限
    chmod 接上數字 文件
    chmod 000 刪除所有權限
    comod 777 添加所有權限
    一個7 表示三個權限
    4 2 1
    r 可讀    2的2次方  4
    w 可寫    2的1次方  2
    x 可執行    2的0次方  1
  
    例如:
      drwxr-xr-x. 2 root root 4096 8月 11 04:23 a : 第一個字母代表是文件夾或者文件, d代表文件夾,-代表文件
      -rw-r--r--.  : rw- 表示用戶 ; r-- 表示用戶名組 ; r-- 表示其他
      官方文檔解釋 : -rwxrw-r--
        第一位 : 文件類型(d目錄,-普通文件 ,| 鏈接文件(桌面快捷方式));
        第2-4位: 所屬用戶權限,用u(user)表示;
        第5-7位: 所屬組權限,用g(group)表示;
        第8-10位: 其他用戶權限,用o(other)表示;
        第2-10位: 表示所有的權限,用a(all)表示;
        r 可讀權限
        w 可寫權限
        x 可執行權限
    
    修改權限:- 表示去除權限
      chmod u-rwx aaa.tar;表示把用戶權限變成---
      chmod g-rwx aaa.tar;表示把用戶組權限變成---
      chmod o-rwx aaa.tar;表示把其他用戶權限變成---
      
      chmod ugo+rwx aaa.tar : 表示給這個文件加上應有權限
      chmod 000 aaa.tar ; 表示去除文件所有權限
      chmod 777 aaa.tar; 表示給文件加上應有權限
    
  安裝過程注意事項 : 使用CRT連接不上linux,存在以下幾種情況:
    vim/etc/sysconfig/netword-scripts/ifcfg-eth0
      1 . 配置網絡,自動連接勾選.
      2 . 360或金山毒霸沒關.
      3 . 本地虛擬機服務器沒開啟.
      4 . 本地適配沒有打開.
      5 . Linux配置環境 網卡沒有開機自動啟動.
  
  ONBOOT = yes  : 開機自動啟動網卡
Linux環境可以按照服務器,應用服務器,tomcat ,需要jdk,mysql,緩存redis
  統一步驟:
    1.需要上傳壓縮包.
    2.解壓.
    3.安裝.
  
  rpm -qa 查看.
  rpm -ivh 程序名稱 安裝.
  rpm -Uvh 程序名稱 更新.
  rpm -e 刪除  --nodeps 不刪除依賴.
  
  例子:
    查看系統中是否安裝有jdk : rpm -qa | grep -i jdk
    如果有就刪除jdk,刪除了以后再安裝
    rpm -e 上面查到的jdk全稱
  
  yum remove 聯網自動刪除數據
  yum install 聯網自動安裝數據
  cm95DvStxaqflMVE : 自動生成的秘密 每個人都不一樣
  
  gPKufF50DIn720ua 我的MySql秘密
  
  NoSql : 
  
    NoSql 特點:
      在大數據存取上具備關系型數據庫無法比擬的性能優勢:
        1.易擴展:
          NoSql 數據庫種類繁多,但是一個共同的特點都是去掉關系數據庫的關系型特性.數據之間
          無關系,這樣就非常容易擴展.也無形之間,在架構的層面上帶來了可擴展的能力.
        2.大數據量,高性能
          NoSql 數據庫都具有非常高的讀寫性能,尤其在大數據量下,同樣表現優秀.這得益于它的
          無關系性,數據庫的結果簡單.
        3.靈活的數據模型
          NoSql 無需事先為要存儲的數據建立字段,隨時可以存儲自定義的數據格式.而在關系數
          據庫里,增刪字段是一件非常麻煩的事情.如果是非常大數據量的表,增加字段簡直就是
          一個噩夢.這點在大數據量的Web2.0時代尤其明顯.
        4.高可用
          NoSql 在不太影響性能的情況,就可以方便的實現高可用的架構.比如Cassandra,HBase
          模型,通過復制模型也能實現高可用.
          
  
  
    MySql 關系型數據庫 : 泛指數據庫中數據表,具有一定關系.
    Redis 非關系性數據庫 : 數據庫中數據是沒有關系(用作緩存,緩存服務器)
    db4o 文件數據庫 : 數據是保存在文件中.
    
    短鏈接 : 打開一次連接 關閉.
    長鏈接 : 連接池 打卡一次不關閉.
    
    Redis : 用來存儲數據 將數據存到內存中 用于處理大數據.
      Redis是用C語言開發的一個開源的高性能鍵值對(key-value)數據庫.它通過提高多種鍵值數據類型來適應不同
      場景下的存儲需求,目前為止Redis支持的鍵值數據類型如下:
        1.字符串類型  2.散列類型  3.列表類型  4.集合類型  5.有序集合類型
    hibernate : 一級緩存 內置緩存.
    hibernate : 二級緩存(需要其他配置) 使用redis替換.
    
    redis 安裝
      需要C的編譯環境.
    
    Redis的后臺啟動方式:
      1.如果需要后臺啟動 需要從redis配置目錄中 copy一個文件 redis.conf
      cp redis.conf /usr/local/src/redis
      
      2.修改配置文件
        daemonize yes(修改成yes)
        以后開發中命名有規范的,項目名稱_業務名稱_表名稱_字段名稱_0  1
        Constant 常量池 一個項目需要有自己的常量池.
        public static final 項目名稱_業務名稱_表名稱_字段名稱_=""
    
    數據結構:
    
      redis 是一種高級的key-value的存儲系統,其中value支持五中數據類型.
        1.字符串(String)  2.哈希(hash)  3.字符串列表(list)
        4.字符串集合(set)  5.有序字符串集合(sorted set)
        而關于key的定義呢,需要大家注意的幾點:
        1:key不要太長,最好不要超過1024個字節,這不僅會消耗內存還會降低查找效率
        2.key不要太短,如果太短會降低key的可讀性.
        3.在項目中,key最好有一個統一的命名規范.
    
      String
        賦值 set key value
        
        取值 get key
           getset key value 獲得并賦值
        
        刪除 del key
        
        其他
          遞增 incr key
          
          遞減 decr key
          
          增加多少 incrby key 數字
          
          減少多少 decrby key 數字
          
          追加 append key 拼接的字符
          
      Hash
        賦值:
          hset 集合名稱 字段的名稱 字段的值 只能賦值一個
          hmset 集合名稱 字段的名稱 字段的值 字段的名稱 賦值多個
        取值
          hget 集合的名稱 字段名稱 獲得一個字段值
          hmget 集合的名稱 字段名稱 [字段名稱 字段名稱]... 獲得指定多個字段值
          hgetall 集合名稱 獲得所有的字段值
        刪除
          del 集合名稱 刪除集合 通用語法(其他集合一樣可以使用)
          hdel 集合名稱 字段名稱[....]
      
        其他
          增加指定數字
            hincrby 集合名稱 字段名稱 增加的數字
          判斷集合中是否含有某個字段
            hexists 集合 字段
          長度
            hlen 集合
          獲得所有的key
            hkeys 集合
          獲得所有的value
            hvals 集合
          顯示集合中的key和value
            hgetall 集合
            
  類加載器的作用 : 將類加載到內存中形成class對象 , 保證虛擬機中就只有一個對象.
  三個類加載器 : 應用加載器(主要加載tomcat的jar包和自己放的一些jar包,加載自己創建的類的class文件) , 擴展加載器(加載一些特殊的jar包,如果公司需要放jar包也放在這里面) , 引導類加載器(主要是把環境加載進來).
  應用類加載器繼承擴展類加載器繼承引導類加載器.
  加載機制 : 全盤負責機制 , 父類委托機制
  System.out.println(ClassLoaderDemo.class.getClassLoader());
  System.out.println(ClassLoaderDemo.class.getClassLoader().getParent());
  System.out.println(ClassLoaderDemo.class.getClassLoader().getParent().getParent());
  
  rt.jar 表示運行時 , 加載不同位置的東西.
  String parths = System.getProperty("sun.boot.class.path");
  String[] arr = parths.split(";");
  for(String string : arr) {
    System.out.println(string);
  }
  System.out.println(String.class.getClassLoader());
  
  public class ClassLoaderDemo {
  /*public static void main(String[] args) {
    //類加載器的作用: 將類加載到內存中形成class對象 保證虛擬機中就只有一個對象
    //三個類加載器 : 應用類加載器  擴展類加載器  引導類加載器(不是類 C 調用批處理 加載我們數據Class對象)
    //加載機制:全盤負責 委托機制 
    //System.out.println(ClassLoaderDemo.class.getClassLoader());
    //System.out.println(ClassLoaderDemo.class.getClassLoader().getParent());
    //System.out.println(ClassLoaderDemo.class.getClassLoader().getParent().getParent());
    //System.out.println(DNSNameService.class.getClassLoader());
    
    //rt.jar 表示運行時  加載不同位置的東西
    String parths = System.getProperty("sun.boot.class.path");
    String [] arr = parths.split(";");
    
    for (String string : arr) {
      System.out.println(string);
    }
    System.out.println(String.class.getClassLoader());
    
  }*/
  /*public static void main(String[] args) {
    //類加載器的作用: 將類加載到內存中形成class對象 保證虛擬機中就只有一個對象
    //三個類加載器 : 應用類加載器  擴展類加載器  引導類加載器(不是類 C 調用批處理 加載我們數據Class對象)
    //加載機制:全盤負責 委托機制 
    //System.out.println(ClassLoaderDemo.class.getClassLoader());
    //System.out.println(ClassLoaderDemo.class.getClassLoader().getParent());
    //System.out.println(ClassLoaderDemo.class.getClassLoader().getParent().getParent());
    //System.out.println(DNSNameService.class.getClassLoader());
    
    //rt.jar 表示運行時  加載不同位置的東西
    String parths = System.getProperty("java.ext.dirs");
    String [] arr = parths.split(";");
    
    for (String string : arr) {
      System.out.println(string);
    }
    //擴展類加載器 一般公司使用
    System.out.println(DNSNameService.class.getClassLoader());
    
  }*/
  
  
  public static void main(String[] args) {
    //類加載器的作用: 將類加載到內存中形成class對象 保證虛擬機中就只有一個對象
    //三個類加載器 : 應用類加載器  擴展類加載器  引導類加載器(不是類 C 調用批處理 加載我們數據Class對象)
    //加載機制:全盤負責 委托機制 
    //System.out.println(ClassLoaderDemo.class.getClassLoader());
    //System.out.println(ClassLoaderDemo.class.getClassLoader().getParent());
    //System.out.println(ClassLoaderDemo.class.getClassLoader().getParent().getParent());
    //System.out.println(DNSNameService.class.getClassLoader());
    
    //rt.jar 表示運行時  加載不同位置的東西
    String parths = System.getProperty("java.class.path");
    String [] arr = parths.split(";");
    
    for (String string : arr) {
      System.out.println(string);
    }
    //應用加載器  負責加載tomcat的路徑jar 還有下面兩個
    //E:\Users\hzb\workspace\ee66_day48\build\classes
    //E:\Users\hzb\workspace\ee66_day48\WebContent\WEB-INF\lib\jedis-2.7.0.jar
    System.out.println(ClassLoaderDemo.class.getClassLoader());
    
  }
}
List
    賦值:lpush key value1[value2......] 從鏈表的左邊添加  如果key不存在就創建
       rpush key value1[value2......] 從鏈表的右邊添加  如果key不存在就創建
    取值
      lrange key start end  查詢數據 start表示開始索引 end表示結束索引 默認情況.
      end 可以為負數 負數表示 從右邊開始數
    刪除
      lpop key 從左邊彈出
      rpop key 從右邊彈出
    其他
      llen key 集合長度大小
      lpushx key value1  添加鏈表的左邊 如果key不存在 不會進行創建
      rpushx key value1  添加鏈表的右邊 如果key不存在 不會進行創建
      lrem key count value  刪除集合中多少個元素
        count > 0 從左往右刪除count個
        count = 0 刪除所有指定的value值
        count < 0 從右往左刪除count個
      lset key index value  設置索引值為index 的value值
      linsert key before | after 指定的元素 添加的值 在指定元素前后添加值
      rpoplpush 集合1 集合2  將集合 1 的右邊彈出  添加到集合 2 的左邊  (隊列 先進先出)
    
  Set 
    賦值 : 
      sadd key value [value...]  添加
    取值 :
      smembers key 獲得集合的成員
    刪除
      srem key value [value...]  刪除指定的成員
      
    其他
      sismember key member  判斷集合中是否存在這個成員
    集合的運算
      差集  將集合 1 減去集合 2 剩下的是集合 1 的元素.
        sdiff key1 key2
      交集  取兩個集合共有的一部分元素
        sinter key1 key2
      并集  取兩個集合所有的元素 但需要去重
        sunion key1 key2
      
    集合的運算并存儲
      差集  將集合 1 減去集合 2 剩下的是集合 1 的元素  將結果存到newkey中
        sdiffstore newkey key1 key2
      交集  取兩個集合共有的一部分元素  將結果存到newkey中
        sinterstore newkey key1 key2
      并集 取兩個集合所有的元素  但需要去重  將結果存到newkey中
        sunionstore newkey key1 key2
      scard key  查看集合中多少個成員
      srandmember key 隨機返回一個成員
    
  Sortset
    賦值 : 
      zadd key sore1 member1 sore2 member2 ...
    取值 : 
      zrange key start end [withscores]  返回指定返回的數據  默認升序
      start 表示開始索引  end表示結束索引  默認情況
                  end 可以為負數  負數表示  從右邊開始數
      zrevrange key start end [withscores] 返回指定返回的數據  降序
    刪除
      zrem key member
    其他
      zscore key member  返回對應成員的分數
      zcard key 返回集合的長度
    刪除一定返回內的數據 按照排名
      zremrangebyrank key start end
      
    刪除一定返回內的數據 start end
      zremrangebyscore key minscore maxscore
      
    按照分數查詢一定返回內的數據
      zrangebyscore key minscore maxscore [withscores] [limit startindex pagesize]
      
    給指定成員添加分數
      zincrby key 分數 value 值
    獲得區間分數內的個數
      zcount key minscore maxscore
      
    返回成員在排名的中的位置
      zrank key value 升序
      zrevrank key value  降序
    
    通用操作
      keys * 表示查看所有的key ?  表示占位符
      Del key 刪除指定的key
      Exists key 查看key是否存在
      Rename key  newKey 修改名稱
      Type key 查看類型
      
      Expire key 設置過期時間
      Ttl 查看過期時間
        -2 已結失效
        -1 永不失效
        >0 還有多少秒之后失效
        
  Jedis
    Jedis java 中訪問redis 環境 操作命令對象 如果需要在java環境中使用redis 必須導入jar包
      commons-pool-2.3.jar
      jedis-2.7.0.jar
      
    jedis 操作:
      public static void main(String[] args) {
        //創建redis對象 java表示的是jedis對象
        
        Jedis jedis = new Jedis("192.168.40.199",6379);
        String nickname = jedis.get("nickname");
        System.out.println(nickname);
        //重寫設置
        jedis.set("nickname","吉吉");//以后設置都是json字符串
        nickname = jedis.get("nickname");
        System.out.println(nickname);
        jedis.close();
        
      }
    
    Jedis 連接池:
      public static void main(String[] args) {
        //需要增加配置
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        
        //設置其他配置
        //最小空閑數 (例如在訪問數據庫高分期的時候,會創建很多連接給予使用,當連接池連接數量用完了以后,會繼續產生連接,保證連接池有三個空閑連接,以備不時只需)
        poolConfig.setMinIdle(3);
        //最大空閑數 (例如在訪問數據庫低分期的時候,連接池會有很多閑置的連接,這時會保證閑置連接不能超過30個,如果超過去30個,超過的會銷毀)
        poolConfig.setMaxIdle(30);
        //獲得連接池
        JedisPool jedisPool = new JedisPool(poolConfig,"192.168.40.199",6379);
        //通過連接池 可以獲得jedis對象
        Jedis jedis = jedisPool.getResource();
        
        String nickname = jedis.get("nickname");
        System.out.println(nickname);
        jedis.close();
        
      }
      
  1.8Redis特性
    1.8.1多數據庫概念
    默認情況下 我們操作時操作第一個

    Select 索引 選擇數據庫
    Move key 索引 將key 移動到對應的數據庫下

    退出 quit exit ctrl + c
    Dbsize key的數量
    Info 信息

    Flushdb 刪除當前數據庫的所有key
    Flushall 刪除所有數據庫的key


    1.8.2消息訂閱和發布
    Subscribe  頻道名稱   表示 訂閱某個頻道
    Psubscribe  頻道名稱 表示訂閱多個頻道
    Publish 頻道名稱 內容  往頻道內發布內容



  1.8.3事務(批量處理)
    Multi 開啟事務
    Exec 提交
    Discard 回滾事務

    提交事務時 如果中間報錯  不會回滾 繼續操作
    1.9持久化
    Redis的數據是在內存中 持久化就是將數據保存在磁盤上(序列化 鈍化)
    Redis中提供了兩種持久化機制 : 將數據持久化起來

      為什么要有數據庫? 數據庫能保存數據
      RDB : 快照 redis默認機制 我們不處理
        優點:恢復速度快
        缺點:存在數據庫丟失情況
      AOF : 記錄日志  將命令行保存起來
        優點:不存在數據丟失
        缺點:恢復速度太慢
      如果想要使用AOF 需要手動配置
      檢查AOF機制是否存在
    1.配置AOF
    2.打開客戶端 進行操作數據
    3.清空數據庫
    4.將redis 服務器線程關閉(看日志文件  修改日志文件)
    5.啟動redis 看數據是否能恢復
        
    如果需要修改修改端口號進行對外開放進入:vim /etc/sysconfig/iptables
    重新啟動服務器 : service iptables restart

        進入redis安裝目錄下
        cd /usr/local/redis
        /usr/local/src/redis install
        進入bin目錄下的批處理進行登錄
        ./bin/redis-cli
        ./redis-server ../redis.conf
    
  9.進入redis目錄
      cd /root/baidu/redis/redis-3.0.0
      10.將redis下的conf文件拷貝到redis下
      cp redis.conf /usr/local/redis

      11.進入redis的bin目錄下
      cd /usr/local/src/redis/bin
      12.啟動
      ./redis-server ../redis.conf 



      后端啟動
      vim /usr/local/redis/redis.conf
      1.找到一下代碼 修改成yes
      daemonize no  ==>>daemonize yes

      2.啟動時,指定配置文件
      cd /usr/local/redis/
      ./bin/redis-server ./redis.conf

讀到這里,這篇“Linux命令操作和redis安裝使用的方法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女