1. 程式人生 > >Redis介紹、安裝、客戶端

Redis介紹、安裝、客戶端

1. Redis介紹
  1.1 什麼是NoSql
  為了解決高併發、高可用、高可擴充套件,大資料儲存等一系列問題而產生的資料庫解決方案,就是NoSql。NoSql,叫非關係型資料庫,它的全名Not only sql。它不能替代關係型資料庫,只能作為關係型資料庫的一個良好補充。
  1.2 NoSql的分類
  1. 鍵值(Key-Value)儲存資料庫
  相關產品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
  典型應用: 內容快取,主要用於處理大量資料的高訪問負載。
  資料模型: 一系列鍵值對
  優勢: 快速查詢
  劣勢: 儲存的資料缺少結構化
  2. 列儲存資料庫
  相關產品:Cassandra, HBase, Riak
  典型應用:分散式的檔案系統
  資料模型:以列簇式儲存,將同一列資料存在一起
  優勢:查詢速度快,可擴充套件性強,更容易進行分散式擴充套件
  劣勢:功能相對侷限
  3. 文件型資料庫
  相關產品:CouchDB、MongoDB
  典型應用:Web應用(與Key-Value類似,Value是結構化的)
  資料模型: 一系列鍵值對
  優勢:資料結構要求不嚴格
  劣勢:查詢效能不高,而且缺乏統一的查詢語法
  4. 圖形(Graph)資料庫
  相關資料庫:Neo4J、InfoGrid、Infinite Graph
  典型應用:社交網路
  資料模型:圖結構
  優勢:利用圖結構相關演算法。
  劣勢:需要對整個圖做計算才能得出結果,不容易做分散式的叢集方案。


  1.3 什麼是Redis
  Redis是使用c語言開發的一個高效能鍵值(k/v)資料庫。Redis可以通過一些鍵值型別來儲存資料。Value的資料型別有:
  String字元型別
  map雜湊型別
  list列表型別
  set集合型別
  sortedset有序集合型別

  1.4 Redis的應用場景
  快取(資料查詢、短連線、新聞內容、商品內容等等)。(最多使用)
  分散式叢集架構中的session分離。
  聊天室的線上好友列表。
  任務佇列。(秒殺、搶購、12306等等)
  應用排行榜。
  網站訪問統計。
  資料過期處理(可以精確到毫秒)

2. Redis安裝
  2.1 Redis下載

  2.2 Redis安裝
  redis安裝到linux系統中。
  第一步:安裝虛擬機器軟體,並在虛擬機器上建立一臺安裝Linux作業系統的機器。
  第二步:將redis的壓縮包,上傳到linux系統。
  第三步:對redis的壓縮包進行解壓縮。Redis解壓縮之後的檔案是用c語言寫的原始碼檔案。
  [email protected]:/usr/local/redis# tar -zxf redis-3.0.0.tar.gz
  第四步:安裝c語言環境(安裝linux作業系統之後,自帶c語言環境,所以這一步可省略)
  [
[email protected]
~]# yum install gcc-c++
  第五步:編譯redis原始碼
  [email protected]:/usr/local/redis/bin# cd redis-3.0.0
  [email protected]:/usr/local/redis/bin# make
  第六步:安裝redis(PREFIX指定安裝目錄)
  [email protected]:/usr/local/redis/bin# make install PREFIX=/usr/local/redis
  第七步:檢視是否安裝成功
  該目錄 /usr/local/redis 下有bin 目錄即說明redis已經安裝。

  2.2 Redis服務的啟動
   2.2.1 前端啟動
  前端啟動的命令:

root@zhaojd:/usr/local/redis/bin# ./redis-server 

  前端啟動的關閉:

強制關閉:Ctrl + C
正常關閉:root@zhaojd:/usr/local/redis/bin# ./redis-cli shutdown

  一旦客戶端關閉,則redis服務也停掉。
   2.2.2 後端啟動
  第一步:需要將redis解壓之後的原始碼包中的redis.conf檔案拷貝到安裝目錄下的bin目錄下。
  第二步:修改redis.conf檔案,將daemonize改為yes。
  第三步:使用命令後端啟動redis。
  [email protected]:/usr/local/redis/bin# ./redis-server redis.conf
  第四步:檢視是否啟動成功
  ps -aux | grep redis
  關閉後端啟動的方式:
  強制關閉:[email protected]:/usr/local/redis/bin# kill -9 PID(第四步的檢視命令看到的)
  正常關閉:[email protected]:/usr/local/redis/bin# ./redis-cli shutdown
3. Redis客戶端
  3.1 Redis自帶的客戶端
  1. 啟動
  啟動客戶端命令:[email protected]:/usr/local/redis/bin# ./redis-cli -h 127.0.0.1 -p 6379
  -h:指定訪問的redis伺服器的ip地址
  -p:指定訪問的redis伺服器的port埠
  還可以寫成:[email protected]:/usr/local/redis/bin# ./redis-cli
使用預設配置:預設的ip【127.0.0.1】,預設的port【6379】
  2. 關閉
  Ctrl+c
  127.0.0.1:6379> quit

  3.2 圖形介面客戶端
  下載圖形介面客戶端:redis-desktop-manager-0.8.0.3841.exe。安裝後開啟如下圖填寫資訊,即可連線redis資料庫。這裡寫圖片描述
  3.3 Jedis客戶端
   3.3.1 Jedis介紹
    Redis不僅是使用命令來操作,現在基本上主流的語言都有客戶端支援,比如java、C、C#、C++、php、Node.js、Go等。在官方網站裡列一些Java的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推薦使用Jedis和Redisson。 在企業中用的最多的就是Jedis,下面我們就重點學習下Jedis。 Jedis同樣也是託管在github上,地址:https://github.com/xetorthio/jedis 需要加如的jar包:commons-pool2-2.3.jar jedis-2.7.0.jar

//測試程式碼:
package cn.keymobile;

import org.junit.Test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;


public class JedisCilent {

    @Test
    public void jedisClient() throws Exception {
        Jedis jedis = new Jedis("192.168.17.136", 6379);
        jedis.set("key2", "222");
        String val = jedis.get("key2");
        System.out.println(val);
        jedis.close();
    }

    @Test
    public void jedisPool() throws Exception {
        JedisPool pool = new JedisPool("192.168.17.136", 6379);
        Jedis jedis = pool.getResource();
        jedis.set("key3","333");
        String val = jedis.get("key3");
        System.out.println(val);
        jedis.close();
        pool.close();
    }
}

  Spring整合jedisPool
  1. 新增spring的jar包
  2. 配置spring配置檔案applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

    <!-- 連線池配置 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 最大連線數 -->
        <property name="maxTotal" value="30" />
        <!-- 最大空閒連線數 -->
        <property name="maxIdle" value="10" />
        <!-- 每次釋放連線的最大數目 -->
        <property name="numTestsPerEvictionRun" value="1024" />
        <!-- 釋放連線的掃描間隔(毫秒) -->
        <property name="timeBetweenEvictionRunsMillis" value="30000" />
        <!-- 連線最小空閒時間 -->
        <property name="minEvictableIdleTimeMillis" value="1800000" />
        <!-- 連線空閒多久後釋放, 當空閒時間>該值 且 空閒連線>最大空閒連線數 時直接釋放 -->
        <property name="softMinEvictableIdleTimeMillis" value="10000" />
        <!-- 獲取連線時的最大等待毫秒數,小於零:阻塞不確定的時間,預設-1 -->
        <property name="maxWaitMillis" value="1500" />
        <!-- 在獲取連線的時候檢查有效性, 預設false -->
        <property name="testOnBorrow" value="false" />
        <!-- 在空閒時檢查有效性, 預設false -->
        <property name="testWhileIdle" value="true" />
        <!-- 連線耗盡時是否阻塞, false報異常,ture阻塞直到超時, 預設true -->
        <property name="blockWhenExhausted" value="false" />
    </bean>
    <!-- redis單機 通過連線池 -->
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool"
        destroy-method="close">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="192.168.242.130" />
        <constructor-arg name="port" value="6379" />
    </bean>
</beans>
@Test
    public void testJedisPool() {
        JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");
        Jedis jedis = null;
        try {
            jedis = pool.getResource();
            jedis.set("name", "lisi");
            String name = jedis.get("name");
            System.out.println(name);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (jedis != null) {
                // 關閉連線
                jedis.close();
            }
        }
    }

相關推薦

Redis介紹安裝客戶

1. Redis介紹   1.1 什麼是NoSql   為了解決高併發、高可用、高可擴充套件,大資料儲存等一系列問題而產生的資料庫解決方案,就是NoSql。NoSql,叫非關係型資料庫,它的全名No

搭建:Redis伺服器安裝視覺化客戶安裝和VS2017新增

一、伺服器安裝1.伺服器下載2.安裝伺服器3.啟動控制檯Host: 命令:cmd redis-server redis.windows.conf 4.安裝Window服務Host:命令:redis-server --service-install redis.window

開啟運維之路之第 5 篇——Redis介紹安裝管理

Redis:Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。Redis百度百科介紹 瞭解下NoSQL (Not noly SQL)不僅僅是SQL,Redis就屬於非關係型資料庫,Mysql ,orac

Linux/CentOS安裝mysql自定義資料目錄配置使用者客戶登入

機房新來的機器,我配完了地址做好了分割槽,裝了好幾天資料庫,記下來以後參考。[為此展開了一場深夜辯論賽] 好吧 說說怎麼裝吧,先看看機器上有沒有mysql,然後發現我這臺機器已經有了,於是就用find / -name mysql|xargs rm -rf刪了舊版本mysql相關的檔案(這個命令能

Linux(CentOS)中Redis介紹安裝使用【一篇就夠】

一、介紹Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data

libevent源碼分析-介紹安裝使用

ont write net clas pretty string his har oot Libevent介紹 安裝 樣例 Libevent介紹 在include\event2\event.h中有關於Libevent的介紹,這裏簡單翻譯

Python第一天:編程的概念python的介紹安裝python的變量python的運算符

代碼 .com 循環輸出 html targe .cn 次循環 概念 9.png 一、內容 二、練習: 1、使用while循環輸出1、2、3、4、5、6、8、9、10 方法一:說明:當count 等於7時,count加1,此時count的值為8,然後continu

dovecot並發數造成foxmailoutlook等客戶工具接收郵件有時候報錯

ash als stat class false limit var proc net 問題:dovecot並發數造成foxmail、outlook等客戶端工具接收郵件有時候報錯,頻繁點收取郵件報錯。/var/log/maillog日誌有大量的報錯:Jan 24 14:01

dovecot vsz_limit參造成foxmailoutlook等客戶工具接收郵件有時候報錯

客戶 大量 fat foxmail 解決 ase toolbar ron memory 問題:dovecot並發數造成foxmail、outlook等客戶端工具接收郵件有時候報錯,關閉客戶端工具後又可以了。/var/log/maillog日誌有大量的報錯:Jan 25 08

第一篇:Tomcat介紹安裝配置

分享圖片 訪問網站 esp ext .tar.gz resp less a20 關閉防火墻 一、Tomcat介紹 Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,有Apache 、Sun和其

redis簡介安裝配置和數據類型

doc zset ash 存在 安裝配置 更改 ase save 文件名 redis簡介、安裝、配置和數據類型 redis簡介 Redis是一個開源(BSD許可),內存存儲的數據結構服務器,可用作數據庫,高速緩存和消息隊列代理。 它支持字符串、哈希表、列表、

Redis簡介安裝配置學習筆記

level syn 結構 cti 設置 href cal 訪問量 com 前一篇文章有介紹關系型數據庫和非關系型數據庫的差異,現在就來學習一下用的較廣的非關系型數據庫:Redis數據庫 Redis 簡介 Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-v

Nginx的介紹安裝Nginx的默認虛擬主機

Linux學習筆記Nginx的介紹與安裝 Nginx的默認虛擬主機 Nginx的介紹與安裝、Nginx的默認虛擬主機

Tomcat的介紹安裝jdk的安裝

Tomcat jdk Tomcat介紹 Tomcat是Apache軟件基金會的Jakarta項目中的一個核心項目;Java程序寫的網站用Tomcat+jdk來運行;Tomcat是一個中間件,真正起作用的,解析Java的是jdk;jdk是整個Java的核心,他包含了Java的運行環境和一堆Java相關的

14.1-14.3 NFS介紹,服務安裝客戶掛載NFS

NFS NFS客戶端掛載 NFS服務端安裝 14.1 NFS介紹NFS是Network File System的縮寫NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新為4.1版本NFS數據傳輸基於RPC協議,RPC為Remote

Ansible介紹安裝遠程執行命令拷貝文件或者目錄遠程執行腳本

github 軟件 ip地址 密碼 ssh doc ech 圖形 ofo Ansible介紹 不需要安裝客戶端,通過sshd去通信基於模塊工作,模塊可以由任何語言開發不僅支持命令行使用模塊,也支持編寫yaml格式的playbook,易於編寫和閱讀安裝十分簡單,centos上

netty04(重點來了指定某個客戶發信息或者群發)小聲嘀咕~~我也是從零開始學得想學習netty的又不知道怎麼下手的童鞋們~~

   還是和上幾篇一樣,先給出前面筆記的連線,有沒看的可以去看看再來!    netty01   、 netty02  、netty03   看到這裡、你基本上可以使用netty接受資訊和根據對應的資訊返回資訊了 &nb

【隨堂筆記】unity中socket的用法(二伺服器與客戶之間簡單的資料傳遞)

主要實現伺服器與客戶端之間簡單的資料傳輸(單次) 伺服器程式碼 using System; using System.Net; using System.Net.Sockets; namespace SeverSocket { class Program {

Ubunt安裝Redis,使用內建客戶進行Redis資料操作

安裝 在終端使用apt-cache policy redis-server可以檢視當前apt-cache的redis版本為4.0.9 可以通過sudo apt-get install redis-server安裝4.0.9版本的redis。 也可以在官網https://redis.

Idea釋出Axis2服務建立WebService客戶和spring整合Axis2框架釋出服務?

一、使用預設的WEBSERVICE服務 1 新建專案 2 選擇 java->Java EE(由J2EE 8改為J2EE 7的版本,解決建立WEBSERVICE專案無WEB.XML的問題) 3 建立WEBSERVICE服務端 4 專案結構如下 5 生成wsd