日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis入门(一)

發(fā)布時間:2025/3/20 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis入门(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、Redis入門介紹

1.入門概述

2. 作用

3.下載地址

4.Linux版安裝

5. Redis啟動后雜項基礎知識講解

二、Redis數(shù)據(jù)類型

1.Redis的五大數(shù)據(jù)類型

2.redis常見數(shù)據(jù)類型操作命令

3.Redis鍵(key)

4.字符串類型string

5.列表類型list

6.集合類型set

7.哈希類型hash


一、Redis入門介紹

1.入門概述

Redis:REmote DIctionary Server(遠程字典服務器)是完全開源免費的,用C語言編寫的,遵守BSD協(xié)議,是一個高性能的(key/value)分布式內(nèi)存數(shù)據(jù)庫,基于內(nèi)存運行并支持持久化的NoSQL數(shù)據(jù)庫,是當前最熱門的NoSql數(shù)據(jù)庫之一,也被人們稱為數(shù)據(jù)結構服務器。

Redis 與其他 key - value 緩存產(chǎn)品有以下三個特點

(1)Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時候可以再次加載進行使用

(2)Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結構的存儲

(3)Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份

2. 作用

(1)內(nèi)存存儲和持久化:redis支持異步將內(nèi)存中的數(shù)據(jù)寫到硬盤上,同時不影響繼續(xù)服務

(2)取最新N個數(shù)據(jù)的操作,如:可以將最新的10條評論的ID放在Redis的List集合里面

(3)模擬類似于HttpSession這種需要設定過期時間的功能

(4)發(fā)布、訂閱消息系統(tǒng)

(5)定時器、計數(shù)器

(6)分布式集群架構中的session分離

(7)應用排行榜

(8)任務隊列(秒殺、搶購、12306等)

3.下載地址

http://redis.io/???????//英文原版

http://www.redis.cn/??//中文版

https://github.com/dmajkic/redis/download???//windows版下載地址

4.Linux版安裝

(1)下載獲得redis-4.0.10.tar.gz后將其放入Linux目錄/opt中

(2)在/opt目錄下,解壓命令:tar -zxvf redis-4.0.10.tar.gz

(3)解壓完成后出現(xiàn)文件夾:redis-4.0.10

(4)進入目錄:cd redis-4.0.10

(5)在redis-4.0.10目錄下執(zhí)行make命令

運行make命令時出現(xiàn)的錯誤解析解決方法:

①安裝gcc

聯(lián)網(wǎng)狀態(tài)下執(zhí)行命令 yum install gcc-c++

②二次make(jemalloc/jemalloc.h:沒有那個文件或目錄)

運行make distclean之后再運行make

redis Test(可以不執(zhí)行)

(6)make完成之后繼續(xù)執(zhí)行make install

(7)查看默認安裝目錄:usr/local/bin

redis-benchmark:性能測試工具,可以在自己本子運行,看看自己本子性能如何(服務啟動起來后執(zhí)行)

redis-check-aof:修復有問題的AOF文件,rdb和aof后面講

redis-check-dump:修復有問題的dump.rdb文件

redis-cli:客戶端,操作入口

redis-sentinel:redis集群使用

redis-server:Redis服務器啟動命令

(8)啟動

1)將默認的redis.conf拷貝到自己定義好的一個路徑下,比如/myconf

2)修改redis.conf文件將里面的daemonize no 改成 yes,讓服務在后臺啟動

3)啟動

4)連通測試

在redis目錄下運行ps -rf|grep redis

5)/usr/local/bin目錄下運行redis-server,運行拷貝出存放了自定義conf文件目錄下的redis.conf文件

6)redis-cli -p 6379

5. Redis啟動后雜項基礎知識講解

(1)單進程

單進程模型來處理客戶端的請求。對讀寫等事件的響應是通過對epoll函數(shù)的包裝來做到的。Redis的實際處理速度完全依靠主進程的執(zhí)行效率。

epoll是Linux內(nèi)核為處理大批量文件描述符而作了改進的epoll,是Linux下多路復用IO接口select/poll的增強版本,它能顯著提高程序在大量并發(fā)連接中只有少量活躍的情況下的系統(tǒng)CPU利用率。

(2)默認16個數(shù)據(jù)庫,類似數(shù)組下表從零開始,初始默認使用零號庫

(3)select命令切換數(shù)據(jù)庫

(4)dbsize查看當前數(shù)據(jù)庫的key的數(shù)量

(5)flushdb:清空當前庫

(6)flushall通殺全部庫

(7)統(tǒng)一密碼管理,16個庫都是同樣密碼,要么都OK要么一個也連接不上

(8)Redis索引都是從零開始

二、Redis數(shù)據(jù)類型

1.Redis的五大數(shù)據(jù)類型

String(字符串)

Hash(哈希,類似java里的Map)

list(列表)

set(集合)

zset(有序集合)

關于key的定義,注意如下幾點:

1)key不要太長,最好不要操作1024個字節(jié)

2)key不要太短,如果太短會降低key的可讀性

3)在項目中,key最好有一個統(tǒng)一的命名規(guī)范

2.redis常見數(shù)據(jù)類型操作命令

http://redisdoc.com/

3.Redis鍵(key)

keys *:查看當前庫的所有鍵

exists key:判斷某個key是否存在

del key:刪除給定的一個或多個key,多個key用空格隔開

move key db:將當前數(shù)據(jù)庫的 key 移動到給定的數(shù)據(jù)庫 db 當中

expire key 秒:為給定的key設置過期時間

ttl key:查看還有多少秒過期。-1表示永不過期,-2表示已過期

type key:查看key為什么類型

4.字符串類型string

(1)概述

字符串類型是Redis中最為基礎的數(shù)據(jù)存儲類型,它在Redis中是二進制安全的,這便意味著該類型存入和獲取的數(shù)據(jù)相同。在Redis中字符串類型的Value最多可以容納的數(shù)據(jù)長度是512M。

(2)常用命令

set key value:設定key持有指定的字符串value,如果該key存在則進行覆蓋操作。

get key:獲取key的value,如果該key關聯(lián)的value不是String類型,redis將返回錯誤信息,如果該key不存在,返回(nil)。

del key:刪除指定key。

mset:同時設置一個或多個key-value對。

? ? ? eg:mset k1 hello k2 world k3 java

setnx key value:將key的值設為value,當且僅當key不存在。

setex key seconds value:將值value關聯(lián)到key,并將key的生存時間設為seconds秒。

5.列表類型list

lpush key values[value1 value2...]在制定的key所關聯(lián)的list的頭部插入所有的values,如果該key不存在,該命令在插入的之前創(chuàng)建一個與該key關聯(lián)的空鏈表,之后再向該鏈表的頭部插入數(shù)據(jù)。

lpop key返回并彈出制定的key關聯(lián)的鏈表的第一個元素。如果該key不存在,返回ni;存在,返回鏈表的頭部元素。

rpop key從尾部彈出元素。

6.集合類型set

(1)概述

在Redis中,我們可以將Set類型看作沒有排序的字符集合,和List類型一樣,我們也可以在該類型的數(shù)據(jù)值上執(zhí)行添加、刪除或判斷某一元素是否存在等操作。Set集合不允許出現(xiàn)重復的元素,Set可包含的最大元素數(shù)量為4294967296。

(2)常用命令

sadd key values[value1、value2...]:向set中添加數(shù)據(jù),如果該key的值已有則不會重復添加。

smembers key:獲取set中所有的成員

Srem key members[member1、member2...]:刪除set中指定的成員

差集:sdiff

交集:sinter

并集:sunion

scard:獲取集合里面的元素個數(shù)

Srandmember key?某個整除:隨機出N個數(shù)

7.哈希類型hash

(1)概述

Redis中的Hash類型可以看成具有String Key和String Value的map容器。所以該類型非常適合于存儲值對象的信息。

(2)常用命令

hset key field value:為指定的key設定fiele/value鍵值對

hmset key field value[field value...]:同時將多個field/value鍵值對設置到哈希表中

hget key field:返回指定的key中的field的值

hdel key field[field...]:刪除一個或多個字段,返回被刪除的字段個數(shù)

hgetall key:返回哈希表key中,所有的域和值,若key不存在,返回空列表

hexists key field:查看哈希表key中,給定域field是否存在,存在返回1,不存在返回0

?

總結

以上是生活随笔為你收集整理的Redis入门(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。