Redis使用及相關

什麼是Redis

Redis是一個開源的使用ANSI C語言編寫、遵照BSD協議、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。node

redis的下載

官網地址:http://redis.io/
下載地址:https://redis.io/download
複製代碼

操做工具及系統

操做工具:Xshell,Xftp 操做系統:Linuxlinux

Redis的安裝

因爲redis須要c語言的編譯環境,,因此須要安裝gcc。以下命令:c++

[root@localhost ~]# yum -y install gcc-c++
複製代碼

查詢是否安裝GCC:redis

[root@localhost ~]# gcc
複製代碼

出現 :gcc: no input files 表示安裝成功。 安裝步驟: 1.經過Xftp工具將將redis的源碼包上傳到linux系統。 2.解壓縮redis的源碼包。 3.打開解壓後的目錄 輸入命令:make 4. 輸入命令:make install PREFIX=/usr/local/redis進行安裝 PREFIX 必須是大寫的。 5.查看/usr/local/redis/bin路徑是否存在,存在即安裝成功shell

鏈接redis

前臺啓動redis

cd 到/usr/local/redis/bin目錄下,輸入數據庫

[root@localhost bin]# ./redis-server 
複製代碼

出現如圖 vim

image.png

後臺啓動redis

1.把/root/redis-3.0.0/redis.conf複製到/usr/local/redis/bin目錄下網絡

[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/
複製代碼
  1. 打開/usr/local/redis/bin目錄
    image.png

3..vim打開修改redis.conf 工具

image.png
4.搜索daemonize 命令: /daemonize ,將daemonize no修改成daemonize yes .

insert新插入操做,:wq退出
複製代碼

image.png

5.啓動Redisui

[root@localhost bin]# ./redis-server redis.conf
複製代碼

4.查看redis是否開啓:

[root@localhost bin]# ps -ef|grep redis
複製代碼

###鏈接與斷開 輸入./redis-cli 鏈接redis

image.png
使用快捷鍵CTRL + C退出鏈鏈接,或者命令quit,exit

Redis數據類型

Redis支持的鍵值數據類型有5種。以下: 字符串類型 (String) 散列類型(hash) 列表類型(List) 集合類型(set) 有序集合類型(SortedSet)

字符串類型 (String)

採用key-value鍵值對方式,key注意區分大小寫 set key value 設置值

image.png

get key 獲取值

image.png

incr key 加一

image.png

decr key 減一

image.png

散列類型(hash)

採用key-field-value方式

hset key field value 設置值

image.png

hget key field 獲取值

image.png

hincrby key field 正父負數 設置增數量

image.png

List

lrange list 0 -1 0 到 -1 查看所有

lpush list value1 value2 從左添加,插在最前面

image.png
rpush list value1 value2 從右添加,插入到最後面
image.png

lpop list 刪除最前的

image.png

rpop list 刪除最後面的

image.png

Set 無序不重複的

sadd set1 value1 value2 添加

image.png

smembers set1 (查詢

image.png

srem set1 value1 刪除

image.png

單機版鏈接

未使用鏈接池

建立jedis對象,獲取對應值

@Test
public void testConnetctJedis() throws Exception {
	Jedis jedis = new Jedis("192.168.1.77", 6379);
	String s= jedis.get("hello");
	System.out.println(s);
	jedis.close();
}
複製代碼

###使用鏈接池 獲取鏈接池,從鏈接池中回去jedis對象,進行操做 @Test public void testConnetctJedisPool() throws Exception {

JedisPool jedisPool = new JedisPool("192.168.1.77", 6379);
	Jedis jedis = jedisPool.getResource();
	jedis.set("hello", "world");
	String s= jedis.get("hello");
	System.out.println(s);
	jedis.close();
	jedisPool.close();
}
複製代碼

集羣版鏈接

獲取JedisCluster對象進行操做

@Test
public void testJedisCluster() throws Exception {
	Set<HostAndPort> nodes = new HashSet<>();
	nodes.add(new HostAndPort("192.168.1.77", 7001));
	nodes.add(new HostAndPort("192.168.1.77", 7002));
	nodes.add(new HostAndPort("192.168.1.77", 7003));
	nodes.add(new HostAndPort("192.168.1.77", 7004));
	nodes.add(new HostAndPort("192.168.1.77", 7005));
	nodes.add(new HostAndPort("192.168.1.77", 7006));
	JedisCluster jedisCluster = new JedisCluster(nodes);
	jedisCluster.set("hello", "world");
	String result = jedisCluster.get("hello");
	System.out.println(result);
	jedisCluster.close();
}複製代碼
相關文章
相關標籤/搜索