本文小編為大家詳細介紹“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安裝使用的方法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。