1. 程式人生 > >redis安裝及簡單使用

redis安裝及簡單使用

init new init.d font 默認安裝路徑 轉換 存儲對象 () height

前言

  一般企業級開發,數據庫用的都是關系型數據庫Mysql、Oracle及SqlServer。無一例外,在開發過程中,我們都必須通過數據庫驅動來連接到數據庫,之後才可以完成對數據庫的增刪改查等業務。而本文將和大家共同分享學習一下redis這種高性能的key-value數據庫,也通常被大家稱為內存高速緩存數據庫。

一、ubuntu下安裝啟動

1、安裝

技術分享圖片

2、啟動

技術分享圖片

3、查看是否啟動成功

技術分享圖片

二、redis數據類型

  Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

1、String

  String是redis最基本的類型,一個key對應一個value,並且一個鍵最大能存儲512MB。

  String類型是二進制安全的,意思是redis的String可以包含任何數據,因為任何數據都可以轉換成二進制存儲起來,比如說jpg圖片、音頻文件或者序列化對象。

技術分享圖片

2、Hash

  Redis hash 是一個鍵值(key=>value)對集合。

  Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。

技術分享圖片

3、List

  Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。

技術分享圖片

4、Set

  Redis的Set是string類型的無序集合。

  集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是O(1)。

技術分享圖片

5、Zset(Sorted set)

  Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。

  不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

  zset的成員是唯一的,但分數(score)卻可以重復。

技術分享圖片

三、redis的使用(Java語言)

註意:

  首先查看6379端口是否開放

sxk@ubuntu:~$ netstat -anpt

技術分享圖片

redis默認是只有本機可以訪問的,想要遠程訪問需要修改redis.conf配置文件,使用apt安裝的redis,配置文件redis.conf默認安裝路徑/etc/redis/redis.conf,修改此配置文件

sxk@ubuntu:~$ sudo gedit /etc/redis/redis.conf 

技術分享圖片

修改完成之後,重啟redis服務

關閉服務:/etc/init.d/redis-server stop

打開服務:/etc/init.d/redis-server start

重啟服務:/etc/init.d/redis-server restart

1、連接到redis服務

import redis.clients.jedis.Jedis;

/**
 * Created by Xiaokai on 2018/4/29.
 *
 */
public class Redisdemo {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.43.230");
        try {
            System.out.println("服務正在運行:"+jedis.ping());
        }catch (Exception e){
            System.out.println("沒有連接到此redis服務");
        }
    }
}

console打印:
  服務正在運行:PONG

2、String實例

import redis.clients.jedis.Jedis;

/**
 * Created by Xiaokai on 2018/4/29.
 *
 */
public class Redisdemo {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.43.230");
        try {
            System.out.println("服務正在運行:"+jedis.ping());
            jedis.set("Stonegeek", "http://www.cnblogs.com/sxkgeek");
            System.out.println("redis 存儲的字符串為: "+ jedis.get("Stonegeek"));
        }catch (Exception e){
            System.out.println("沒有連接到此redis服務");
        }
    }
}

 console打印: 

  服務正在運行:PONG
  redis 存儲的字符串為: http://www.cnblogs.com/sxkgeek

 

3、Redis Key實例

import redis.clients.jedis.Jedis;

import java.util.Iterator;
import java.util.Set;

/**
 * Created by Xiaokai on 2018/4/29.
 */
public class RedisKey {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.43.230");
        try {
            System.out.println("服務正在運行:"+jedis.ping());
            Set<String> keys = jedis.keys("*");
            Iterator<String> it=keys.iterator() ;
            while(it.hasNext()){
                String key = it.next();
                System.out.println(key);
            }
        }catch (Exception e){
            System.out.println("沒有連接到此redis服務");
        }
    }
}

console打印:

  服務正在運行:PONG
  stonegeekset
  name
  myhash
  Stonegeek
  stonegeekzset
  stonegeek

  後續還會繼續跟大家分享學習redis的深入理解!!!

redis安裝及簡單使用