redis入門

redis是什么?

redis(remote dictionary server),是一個(gè)典型以KV鍵值對(duì) nosql數(shù)據(jù)庫(kù),是使用C語(yǔ)言編寫的。

redis安裝

下載地址http://redis.io/download
安裝步驟:

1 首先需要安裝gcc,把下載好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夾下

2 進(jìn)行解壓

tar -zxvf redis-3.0.0-rc2.tar.gz

3 進(jìn)入到redis-3.0.0目錄下,進(jìn)行編譯

make

4 進(jìn)入到src下進(jìn)行安裝 make install 驗(yàn)證(ll查看src下的目錄,有redis-server 、redis-cil即可)

make install

5 建立倆個(gè)文件夾存放redis命令和配置文件

mkdir -p /usr/local/redis/etc

mkdir -p /usr/local/redis/bin

6 把redis-3.0.0下的redis.conf 移動(dòng)到/usr/local/redis/etc下,

cp redis.conf /usr/local/redis/etc/

7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server
文件移動(dòng)到bin下,命令:

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check- 
dump redis-cli redis-server /usr/local/redis/bin

8 啟動(dòng)時(shí)并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后臺(tái)啟動(dòng),所以修改redis.conf里的 daemonize 改為yes)

./redis-server /usr/local/redis/etc/redis.conf

9 驗(yàn)證啟動(dòng)是否成功:
ps -ef | grep redis 查看是否有redis服務(wù) 或者 查看端口:netstat -tunpl | grep 6379

ps -ef | grep redis
netstat -tunpl | grep 6379

進(jìn)入redis客戶端 ./redis-cli 退出客戶端quit
退出redis服務(wù):

(1)pkill redis-server 、
(2)kill 進(jìn)程號(hào)、             
(3)/usr/local/redis/bin/redis-cli shutdown 

redis配置文件

1、bind ip
2、requirepass 密碼
3、port
4、兩種持久化技術(shù)--快照 、aof
5、slaveof slaveof 192.168.13.4 6379
masterauth 密碼

redis有五種基本數(shù)據(jù)類型

string     字符串
hash       對(duì)象
list       列表
set        集合
zset       有序集合

字符串的命令:

set key value       # 保存一個(gè)鍵值對(duì)
get key         # 通過(guò)key來(lái)去對(duì)應(yīng)的值
image.png
mset key1 v1 k2 v2...   # 一次保存多個(gè)鍵值對(duì)
mget k1 k2 k3       # 通過(guò)key來(lái)去對(duì)應(yīng)的值
image.png
setex key second value  # 保存一個(gè)鍵值對(duì),同時(shí)規(guī)定它的失效時(shí)間(second)
image.png
incr key        # 對(duì)key對(duì)應(yīng)值 加一,注意,只對(duì)數(shù)據(jù)字符串有效
incrby key value    # 對(duì)key對(duì)應(yīng)值 加value

decr key        # 對(duì)key對(duì)應(yīng)值 減一,注意,只對(duì)數(shù)據(jù)字符串有效
decrby key value    # 對(duì)key對(duì)應(yīng)值 減value
image.png
strlen key      # 求key對(duì)應(yīng)值的長(zhǎng)度
append key value    # 對(duì)key對(duì)應(yīng)的值進(jìn)行新的拼接
image.png
setnx key vaule     # 如果存在key,則無(wú)效,如果不存在,則保存該鍵值對(duì)
image.png

hash命令:主要用來(lái)存儲(chǔ)對(duì)象的

u1 = User(1, "beibei", 18, "zhengzhou")
u2 = User(2, "xzh", 20, "zhengzhou")

hset key field value    # 存儲(chǔ)key對(duì)應(yīng)屬性field的值
hget key field      # 獲取key對(duì)應(yīng)屬性field的值
hmset key f1 v1 f2 v2...# 存儲(chǔ)key對(duì)應(yīng)多個(gè)屬性field的值
hmget key f1 f2...  # 獲取key對(duì)應(yīng)多個(gè)屬性field的值
image.png

image.png
hgetall key     # 獲取key對(duì)象所有屬性和對(duì)應(yīng)的值
hkeys key       # 獲取key對(duì)象的所有屬性的名稱
hvals key       # 獲取key對(duì)象的所有屬性的值
hlen key        # 獲取key的所有屬性個(gè)數(shù)
hstrlen key field   # 獲取key對(duì)應(yīng)的屬性的值的長(zhǎng)度
image.png
hexists key field   # 判斷某個(gè)對(duì)象是否存在該屬性
hsetnx key field value  # 判斷對(duì)象的屬性是否存在,存在則不操作,不存在,則保存
image.png

image.png
hincrby key field value # 對(duì)對(duì)象的屬性(必須是數(shù)字字符串)進(jìn)行加法運(yùn)算
image.png

key操作

keys *          # 查詢當(dāng)前數(shù)據(jù)庫(kù)中所有key的個(gè)數(shù)
image.png
exists key      # 判斷某個(gè)key是否存在在當(dāng)前數(shù)據(jù)庫(kù)
del key         # 刪除對(duì)應(yīng)的key
type key        # 判斷key的類型
image.png
expire key second value # 為一個(gè)存在的key設(shè)置一個(gè)失效時(shí)間
ttl key         # 查看key的失效時(shí)間 -2表示不存在 -1 永久存在 正數(shù)表示存活的秒數(shù)
image.png
move key db     # 移動(dòng)key到db數(shù)據(jù)庫(kù)中
select index        # 切換數(shù)據(jù)庫(kù)
image.png
info [xxxx]     # 查看當(dāng)前數(shù)據(jù)庫(kù)的狀態(tài)
image.png
dbsize          # 返回當(dāng)前數(shù)據(jù)庫(kù)的key的個(gè)數(shù)
image.png
flushdb         # 刪除當(dāng)前數(shù)據(jù)庫(kù)的所有數(shù)據(jù)
flushall        # 刪除所有數(shù)據(jù)庫(kù)的所有數(shù)據(jù)

persist key     # 讓key永久保存
image.png

list命令

lpush key v1 v2...  # 從左側(cè)將值放入list中
rpush key v1 v2...  # 從右側(cè)將值放入list中
lrange key start end    # 循環(huán)顯示list
linsert key b|a piovt v # 將值插入到對(duì)應(yīng)的位置
image.png

image.png
lpop key        # 從左側(cè)刪除第一個(gè)元素
rpop key        # 從右側(cè)刪除最后一個(gè)元素
image.png
llen key        # 獲取list的長(zhǎng)度
ltrim key start stop    # 切割列表
lindex key index    # 獲取索引位對(duì)應(yīng)的元素
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容