01-String(鍵命令)

Redis

Redis是一個高性能的Key-Value數據庫。java

學習目標

  • 可以描述出什麼是 nosql
  • 可以說出 Redis 的特色
  • 可以根據參考資料修改經常使用Redis配置
  • 可以寫出Redis中string類型數據的增刪改查操做命令
  • 可以寫出Redis中hash類型數據的增刪改查相關命令
  • 可以說出Redis中 list 保存的數據類型
  • 可以使用StrictRedis對象對string類型數據進行增刪改查
  • 可以參考課件步驟搭建 Redis 集羣

一、Redis安裝

  一、下載:(linux)python

wget http://download.redis.io/releases/redis-4.0.9.tar.gz

  二、解壓:linux

tar xzf redis-4.0.9.tar.gz

  三、移動,放到user/local目錄下正則表達式

sudo mv ./redis-4.0.9 /usr/local/redis/

  四、進入Redis目錄redis

cd /usr/local/redis/

  五、生成sql

sudo make

  六、測試數據庫

sudo make test

  七、安裝,將redis的命令安裝到/user/local/bin/目錄安全

sudo make install

  八、查看安裝是否成功服務器

cd /usr/local/bin
ls -all
  • redis-server redis服務器
  • redis-cli redis命令行客戶端
  • redis-benchmark redis性能測試工具
  • redis-check-aof AOF文件修復工具
  • redis-check-rdb RDB文件檢索工具

  九、配置文件,移動到/etc/目錄下數據結構

配置文件目錄爲/user/local/redis/redis.conf

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

配置

Redis的配置信息在/etc/redis/redis.conf下。

查看:

sudo vi /etc/redis/redis.conf

核心配置選項

綁定ip:若是須要遠程訪問,可將此行註釋,或者綁定一個真實的ip

bind 127.0.0.1

端口:默認端口6379

port 6379

是否以守護進程運⾏

  • 若是以守護進程運⾏,則不會在命令⾏阻塞,相似於服務
  • 若是以⾮守護進程運⾏,則當前終端被阻塞
  • 設置爲yes表示守護進程,設置爲no表示⾮守護進程
  • 推薦設置爲yes
daemonize yes

數據文件

dbfilename dump.rdb

數據文件存儲路徑

dir /var/lib/redis

日誌文件

logfile "/var/log/redis/redis-server.log"

數據庫,默認有16個

database 16

主從複製,相似於雙機備份。

slaveof

服務端(瞭解客戶端與服務端的命令)

服務端的命令爲redis-server

可使用help查看幫助文檔

redis-server --help

我的習慣:

ps aux | grep redis 查看redis服務器進程
sudo kill -9 pid 殺死redis服務器
sudo redis-server /etc/redis/redis.conf 指定加載的配置文件

客戶端

客戶端的命令爲redis-cli

幫助文檔:

redis-cli --help

連接redis

redis-cli

運行測試命令

ping

切換數據庫

數據庫沒有名稱,默認有16個,經過0-15來標識,鏈接redis默認選擇第一個數據庫

select 10

數據結構:

  一、可以寫出Redis中string類型數據的增刪改查操做命令

  二、可以寫出Redis中hash類型數據的增刪改查命令

Redis是key-value的數據結構,每條數據都是一個鍵值對

鍵的類型是字符串(不能重複)

 

 值的類型分爲五種:

字符串(string),哈希(hash)、列表(list)、集合(set)、有序集合(zset)

數據操做行爲:

保存,修改,獲取,刪除。

String類型

  字符串類型是 Redis 中最爲基礎的數據存儲類型,它在 Redis 中是二進制安全的,這便意味着該類型能夠接受任何格式的數據,如JPEG圖像數據或Json對象描述信息等。在Redis中字符串類型的Value最多能夠容納的數據長度是512M。

保存

若是設置的鍵不存在則爲添加,若是設置的鍵已經存在則修改

一、設置鍵值

set key value
#設置鍵爲name,值爲itcast的數據
#set name itcast

二、設置鍵值及過時時間,以秒爲單位

setex key seconds value

#設置鍵爲aa值爲cc過時時間爲3秒的數據
#setex aa 3 cc

三、設置多個鍵值

mset key1 value1 key2 value2
#設置鍵爲「a1」值爲「python」,鍵爲a2,值爲java,鍵爲a3,值爲c
#mset a1 python a2 java a3 c

四、追加值

append key value
#向鍵爲a1中追加值「abc」
#append a1 haha

 

 獲取

一、根據鍵獲取值,若是不存在此鍵則返回nil

get key
#獲取鍵name的值
get name

二、根據多個鍵獲取多個值

mget key1 key2
#獲取a1,a2,a3的值
mget a1 a2 a3

刪除(刪除鍵時會將值刪除)

鍵命令:

一、查找鍵,參數支持正則表達式

keys pattern
#查看全部鍵
keys *
#查看名稱中包含a的鍵
keys a*

二、判斷鍵是否存在,若是存在返回1,不存在返回0

exists key1
#判斷鍵a1是否存在
exists a1

三、查看鍵對應的value的類型

type key
#查看鍵a1的值類型,爲redis支持的五種類型中的一種
type a1

四、刪除鍵及對應的值

del key1 key2
#刪除鍵a2,a3
del a2 a3

五、設置過時時間,以秒爲單位,若是沒有指定過時時間則一直存在,直到使用DEL移除

expire key seconds
#設置鍵a1的過時時間爲20秒
expire a1 3

六、查看有效時間

ttl key
#查看鍵a1的有效時間
ttl a1
相關文章
相關標籤/搜索