Day47 知識講解:Jedisphp
由於JDK,TOMCAT,MYSQL的安裝過程當中須要從網上下載部分支持包才能夠繼續,因此要求同窗們提早安裝下載好依賴前端
yum install glibc.i686java
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6node
yum updatelibstdc++-4.4.7-4.el6.x86_64mysql
yum install gcc-c++linux
glibc.i686c++ |
8MB+21MBredis |
libaio.so.1 libgcc_s.so.1 libstdc++.so.6算法 |
417KBsql |
libstdc++-4.4.7-4.el6.x86_64 |
僅更新檢查, 無下載內容 |
yum install gcc-c++
|
19MB |
|
|
Linux操做系統有兩大程序命令:
rpm至關於windows的添加\卸載程序。只能操做Linux本地的程序。
卸載:rpm -e--nodeps須要卸載程序名
查看:rpm -qa
安裝包的安裝:rpm -ivh須要安裝的程序名
安裝包:*.rpm------至關於windows *.exe
有些程序,存在於網絡上
yum至關於聯網版的rpm命令。從網絡上進行程序的安裝、更新
網絡安裝:yum install xxxxx
下載到Linux本地變爲rpm程序包,執行rpm安裝
網絡更新:yum updatexxxxx
下載到Linux本地而後再進行更新操做
執行命令查看:
l rpm –qa | grep java
l 卸載OPENJDK
rpm -e --nodepsjava-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
rpm -e --nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
在/usr/local/建立文件夾java目錄
mkdir -p /usr/local/java
l cd ~
l ll
首先須要安裝依賴:【1~5分鐘】
l yum install glibc.i686
l tar -zxvf jdk-7u71-linux-i586.tar.gz -C /usr/local/java
vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/java/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
從新加載配置文件:【不然環境變量不會從新執行】
source /etc/profile
查詢mysql的安裝狀況
rpm -qa | grep mysql –-color
卸載原生的MySQL
rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum updatelibstdc++-4.4.7-4.el6.x86_64
安裝服務端
rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
啓動MySQL服務
service mysql start
/usr/bin/mysqladmin -u root password '123456'
加入到系統服務:
chkconfig --add mysql
自動啓動:
chkconfigmysql on
登陸mysql:
//賦予root用戶全部權限,遠程登陸密碼是123456
grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
mkdir -p /usr/local/tomcat
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local/tomcat
開放8080端口
/sbin/iptables -I INPUT -p tcp --dport8080 -j ACCEPT
保存配置
/etc/rc.d/init.d/iptables save
啓動tomcat
執行/usr/local/tomcat/apache-tomcat-7.0.57/bin/startup.sh
關閉tomcat
執行/usr/local/tomcat/apache-tomcat-7.0.57/bin/shutdown.sh
SQL:重型坦克
MySQL/oracle:關係型數據庫。數據和數據之間/表和表之間存在關係。
人員表-----身份證表中的數據一對一
分類表---商品表中的數據一對多
人員表---權限表中的數據多對多
優勢:①表設計/數據的使用和現實生活息息相關
②表數據的增刪改查操做比較簡單
③保證數據的完整/安全
缺點:①佔用大量的內存資源(僞表、關係算法)
②執行效率不高
③對海量數據/高併發請求無能爲力
④海量數據時,表結構的維護沒法進行。
目前移動互聯網時代-----》物聯網時代
信息量-------MB-GB
只有底盤高速跑車
非關係型數據庫:NOSQL (不只僅是SQL)
特色:去掉了數據和數據之間關係。
Redis 2009年。
一秒鐘能夠輕鬆讀寫十幾萬數據量
優勢:①輕鬆處理海量數據/高併發請求
②不管數據量多少,均可以對數據庫進行維護
③執行效率遠遠高於關係型數據庫
缺點:①數據和數據之間不存在關係,和現實生活嚴重脫節
②數據再也不有完整性和安全性
關係型數據庫和非關係型數據庫不是相互替代的關係。
重要數據:關係型數據庫(錢)
不重要海量數據(高併發請求):非關係型數據庫
redis安裝:
redis是C語言開發,安裝redis須要先將官網下載的源碼進行編譯,編譯依賴gcc環境。若是沒有gcc環境,須要安裝gcc:
yum install gcc-c++
若是提示是否下載,輸入y。
若是提示是否安裝,輸入y
l 步驟1:將Windows下下載的壓縮文件上傳到Linux下。經過secureCRT進行上傳,步驟以下:
l alt + p
l put F:/redis-3.0.0.tar.gz
l
l 步驟2: 解壓文件
l tar –zxvf redis-3.0.0.tar.gz
l 步驟3: 編譯redis (編譯,將.c文件編譯爲.o文件)
l 進入解壓文件夾,cd redis-3.0.0
l 執行make
1)若是沒有安裝gcc,編譯將出現錯誤提示。(若是安裝失敗,必須刪除文件夾,重寫解壓)
2)安裝成功
l 步驟4: 安裝
將redis安裝到指定目錄中/usr/local/redis。
PREFIX必須是大寫
make PREFIX=/usr/local/redis install
l
安裝完後,在/usr/local/redis/bin下有幾個可執行文件
redis-benchmark ----性能測試工具
redis-check-aof ----AOF文件修復工具
redis-check-dump ----RDB文件檢查工具(快照持久化文件)
redis-cli ----命令行客戶端
redis-server ----redis服務器啓動命令
l 步驟5: copy文件
redis啓動須要一個配置文件,能夠修改端口號等信息。
Cp redis.conf /usr/local/redis
注:若是沒有配置文件redis也能夠啓動,不過將啓用默認配置,
這樣不方便咱們修改端口號等信息,沒法進行後期集羣的配置
不管前、後端啓動,都要先進入redis程序的根目錄:/usr/local/redis
前端啓動:(瞭解)-沒法部署集羣
啓動redis,客戶端鏈接:鏈接6379端口
redis-cli -h ip地址 -p 端口
./bin/redis-cli -p 6379
./bin/redis-cli 開啓客戶端 能夠操做redis
客戶端/服務器端關閉:ctrl+c
Redis啓動-後端模式
l 修改redis.conf配置文件,daemonize yes 之後端模式啓動。
vim /usr/local/redis/redis.conf
l 啓動時,指定配置文件
cd /usr/local/redis/
./bin/redis-server ./redis.conf
l Redis默認端口6379,經過當前服務進行查看
ps-ef | grep –I redis
後端模式能夠修改端口號,默認6379. 6379,6380,6381
Redis服務器的關閉:
① 查詢到PID,kill -9 pid【斷電,非正常關閉,通常不用,不然形成數據丟失】
②正常關閉【正常關閉,數據保存】
./bin/redis-cli shutdown
Redis數據庫----非關係型數據庫----存儲方式(key----value)
Redis數據庫-----HashMap<String,Object>
Value的數據類型:
1、 字符串類型對應Java中的String。 512MB
存儲大量文本信息,做爲項目的緩存使用。
2、 散列類型(瞭解)至關於Java中的JavaBean,Map
幾乎能夠被String+json替代
3、 列表類型至關於Java中LinkedList(鏈表)。
數據增刪效率極高。
用戶列表,VIP列表
4、 集合類型至關於Java中的set集合
set<String>
無序、惟一。
VIP列表,交集、並集、差集運算
5、 有序集合類型。有序的set集合。作排行榜
字符串類型是Redis中最爲基礎的數據存儲類型,它在Redis中是二進制安全的,這便意味着該類型存入和獲取的數據相同。在Redis中字符串類型的Value最多能夠容納的數據長度是512M。
MySQL:
Redis:
數據增刪改查:
賦值:增改
取值:查
刪值:刪
l 賦值:
set key value:設定key持有指定的字符串value,若是該key存在則進行覆蓋操做。老是返回」OK」
append key value:拼湊字符串。若是該key存在,則在原有的value後追加該值;若是該key不存在,則從新建立一個key/value
以上兩種方法的區別:
在key—value存在時。Set覆蓋,append末尾的追加
l 取值:
get key:獲取key的value。若是與該key關聯的value不是String類型,redis將返回錯誤信息,由於get命令只能用於獲取String value;若是該key不存在,返回(nil)。 nil就是Java中的null
l 刪除:
del key :刪除指定key.【通用】返回int類型,刪除了幾條數據
keys *查詢存儲的全部鍵值對---鍵名(不論值類型)
使用環境:向某個value中保存一個大量數據的map集合,佔用極少的空間。
l hmset key field value [field2 value2 …]:設置key中的多個filed/value
l hgetall key:獲取key中的全部filed-vaule
l hmget key fileds:獲取key中的多個filed的值
Mysql由JDBC 進行鏈接JAVA。
Jedis------使用Java操做redis數據庫。
Redis不只是使用命令來操做,如今基本上主流的語言都有客戶端支持,好比java、C、C#、C++、php、Node.js、Go等。
在官方網站裏列一些Java的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推薦使用Jedis和Redisson。在企業中用的最多的就是Jedis,下面咱們就重點學習下Jedis。
導入jar包
Jedis使用特色:redis中有什麼命令,Jedis中就有什麼方法對應。
Redis的命令名,Jedis的方法名
外界使用Redis,必須開放6379
開放6379端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
保存配置
/etc/rc.d/init.d/iptables save
Jedis的單實例:
Jedis池:
Jedis工具: