SSM9-Redis的搭建

  1. Redis的安裝

1.1. Redis的安裝

Redisc語言開發的。前端

安裝redis須要c語言的編譯環境。若是沒有gcc須要在線安裝。yum install gcc-c++linux

 

安裝步驟:c++

第一步:redis的源碼包上傳到linux系統。redis

第二步:解壓縮redis緩存

第三步:編譯。進入redis源碼目錄。make 服務器

 

第四步:安裝。make install PREFIX=/usr/local/redisui

PREFIX參數指定redis的安裝目錄。通常軟件安裝到/usr目錄下spa

第五步常見錯誤線程

(1)若出現以下提示,則說明未安裝gcc,使用命令安裝gcc:yum install gcc

[root@localhost redis-2.8.17]# make
cd src && make all
make[1]: Entering directory `/root/redis-2.8.17/src‘
    CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/root/redis-2.8.17/src‘
make: *** [all] Error 2

(2)若出現以下提示,則將make改成make MALLOC=libc,推測是由於編譯庫的問題。

[root@localhost redis-2.8.17]# make
cd src && make all
make[1]: Entering directory `/root/redis-2.8.17/src‘
    CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/redis-2.8.17/src‘
make: *** [all] Error 2

3d

 

 

1.2. 鏈接redis

1.2.1. redis的啓動:

前端啓動:在redis的安裝目錄下直接啓動redis-server

[root@localhost bin]# ./redis-server

 

 

後臺啓動:

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

[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/

修改配置文件:

 

 

[root@localhost bin]# ./redis-server redis.conf

查看redis進程:

[root@localhost bin]# ps aux|grep redis

root      5190  0.1  0.3  33936  1712 ?        Ssl  18:23   0:00 ./redis-server *:6379    

root      5196  0.0  0.1   4356   728 pts/0    S+   18:24   0:00 grep redis

[root@localhost bin]#

 

1.2.2. Redis-cli

[root@localhost bin]# ./redis-cli

默認鏈接localhost運行在6379端口的redis服務。

[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379

-h:鏈接的服務器的地址

-p:服務的端口號

 

關閉redis[root@localhost bin]# ./redis-cli shutdown

 

1.3. Redis五種數據類型

Stringkey-value(作緩存)

Redis中全部的數據都是字符串。命令不區分大小寫,key是區分大小寫的。Redis是單線程的。Redis中不適合保存內容大的數據。

getset

incr:加一(生成id

Decr:減一

 

Hashkey-fields-values(作緩存)

至關於一個key對於一個mapmap中還有key-value

使用hashkey進行歸類。

Hset:向hash中添加內容

Hget:從hash中取內容

 

List:有順序可重複

192.168.25.153:6379> lpush list1 a b c d

(integer) 4

192.168.25.153:6379> lrange list1 0 -1

1) "d"

2) "c"

3) "b"

4) "a"

192.168.25.153:6379> rpush list1 1 2 3 4

(integer) 8

192.168.25.153:6379> lrange list1 0 -1

1) "d"

2) "c"

3) "b"

4) "a"

5) "1"

6) "2"

7) "3"

8) "4"

192.168.25.153:6379>

192.168.25.153:6379> lpop list1

"d"

192.168.25.153:6379> lrange list1 0 -1

1) "c"

2) "b"

3) "a"

4) "1"

5) "2"

6) "3"

7) "4"

192.168.25.153:6379> rpop list1

"4"

192.168.25.153:6379> lrange list1 0 -1

1) "c"

2) "b"

3) "a"

4) "1"

5) "2"

6) "3"

192.168.25.153:6379>

 

Set:元素無順序,不能重複

192.168.25.153:6379> sadd set1 a b c c c d

(integer) 4

192.168.25.153:6379> smembers set1

1) "b"

2) "c"

3) "d"

4) "a"

192.168.25.153:6379> srem set1 a

(integer) 1

192.168.25.153:6379> smembers set1

1) "b"

2) "c"

3) "d"

192.168.25.153:6379>

還有集合運算命令,自學。

 

SortedSetzset):有順序,不能重複

192.168.25.153:6379> zadd zset1 2 a 5 b 1 c 6 d

(integer) 4

192.168.25.153:6379> zrange zset1 0 -1

1) "c"

2) "a"

3) "b"

4) "d"

192.168.25.153:6379> zrem zset1 a

(integer) 1

192.168.25.153:6379> zrange zset1 0 -1

1) "c"

2) "b"

3) "d"

192.168.25.153:6379> zrevrange zset1 0 -1

1) "d"

2) "b"

3) "c"

192.168.25.153:6379> zrange zset1 0 -1 withscores

1) "c"

2) "1"

3) "b"

4) "5"

5) "d"

6) "6"

192.168.25.153:6379> zrevrange zset1 0 -1 withscores

1) "d"

2) "6"

3) "b"

4) "5"

5) "c"

6) "1"

192.168.25.153:6379>

 

1.4. Key命令

設置key的過時時間。

Expire key second:設置key的過時時間

Ttl key:查看key的有效期

Persist key:清除key的過時時間。Key持久化。

 

192.168.25.153:6379> expire Hello 100

(integer) 1

192.168.25.153:6379> ttl Hello

(integer) 77

相關文章
相關標籤/搜索