亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Redis學習筆記之redis基礎

2024-07-21 02:52:51
字體:
來源:轉載
供稿:網友

資料來源:http://www.atguigu.com/download.shtml

一,redis是什么?

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

二,redis的特點

支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用。

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

Redis支持數據的備份,即master-slave模式的數據備份

三,永遠的hello world

安裝redis就不多說了,解壓安裝包之后再在解壓目錄make,makeinstall。查看默認安裝目錄(注,多余的rdb文件和log文件是我自己新建的):

這里寫圖片描述

redis-benchmark: 性能測試工具

redis-check-aof:修復有問題的AOF文件

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

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

redis-sentinel:redis集群使用

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

為了不改變默認配置,將redis.conf(redis的解壓目錄中)拷貝出來,保存在其他目錄,如我保存在/root/myredis目錄下。

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

啟動redis:

redis-server /root/myredis/redis.conf #設置Redis服務端啟動配置文件redis-cli -p 6379#啟動Redis客戶端進程

測試連通性

127.0.0.1:6379> pingPONG127.0.0.1:6379>

helloworld示例:

127.0.0.1:6379> set hello HelloWorldOK127.0.0.1:6379> get hello"HelloWorld"

四,雜項知識

redis默認16個數據庫,類似數組下標從零開始,初始默認使用零號庫

Select 命令切換數據庫

Dbsize 查看當前數據庫的key的數量

Flushdb:清空當前庫

Flushall:通殺全部庫

統一密碼管理:每一個數據庫都是同樣密碼

redis索引都是從零開始,啟動端口默認是6379

五,redis的key和五大數據類型

key: keys * 查看數據庫中所有的鍵

127.0.0.1:6379> keys *1) "hello"

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

127.0.0.1:6379> exists key hello(integer) 1

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

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

數據類型之String類型:string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。

string類型是二進制安全的。意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 。一個redis中字符串value最多可以是512M

set/get/del/append/strlen,添加、查詢、修改、刪除字符串以及得到字符串長度

127.0.0.1:6379> set key1 val1OK127.0.0.1:6379> get key1"val1"127.0.0.1:6379> strlen key1(integer) 4127.0.0.1:6379> append key1 haha(integer) 8127.0.0.1:6379> get key1"val1haha"127.0.0.1:6379> del key1(integer) 1127.0.0.1:6379> keys *1) "hello"

incr/decr/incrby/decrby,對字符串進行加減,一定要是數字才能進行加減

127.0.0.1:6379> incr key2(integer) 2127.0.0.1:6379> get key2"2"127.0.0.1:6379> decr key2(integer) 1127.0.0.1:6379> get key2"1"127.0.0.1:6379> incrby key2 3(integer) 4127.0.0.1:6379> get key2"4"127.0.0.1:6379> decrby key2 3(integer) 1127.0.0.1:6379> get key2"1"

getrange: 獲取指定范圍內的值,從零到負一表示全部

setrange: 設置指定區域內的值

127.0.0.1:6379> set key3 abcd123OK127.0.0.1:6379> GETRANGE key3 0 -1"abcd123"127.0.0.1:6379> SETRANGE key3 4 efgh(integer) 8127.0.0.1:6379> get key3"abcdefgh"

setex(set with expire)鍵秒值/setnx(set if not exist) setex:設置帶過期時間的key,動態設置。格式:setex 鍵 秒值 真實值 setnx:只有在 key 不存在時設置 key 的值。

127.0.0.1:6379> setex k4 10 v4OK127.0.0.1:6379> ttl k4(integer) 5

mset/mget/msetnx

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

mget:獲取所有(一個或多個)給定 key 的值。

msetnx:同時設置一個或多個 key-value 對,當且僅當所有給定 key 都不存在。

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3OK127.0.0.1:6379> mget k1 k2 k31) "v1"2) "v2"3) "v3"127.0.0.1:6379> msetnx k4 v4 k5 v5(integer) 0127.0.0.1:6379> mget k4 k51) (nil)2) "v5"

數據類型之list: List(列表)底層實際是個鏈表

lpush/rpush/lrange,生成鏈表,lpush最先保存的序號在最前面

127.0.0.1:6379> LPUSH list01 1 2 3 4 5(integer) 5127.0.0.1:6379> LRANGE list01 0 -11) "5"2) "4"3) "3"4) "2"5) "1"127.0.0.1:6379> RPUSH list02 1 2 3 4 5(integer) 5127.0.0.1:6379> LRANGE list02 0 -11) "1"2) "2"3) "3"4) "4"5) "5"

lpop/rpop,得到最左邊的值和最右邊的值

127.0.0.1:6379> lpop list01"5"127.0.0.1:6379> rpop list01"1"127.0.0.1:6379> lrange list01 0 -11) "4"2) "3"3) "2"

lindex,按照索引下標獲得元素(從上到下),llen獲取list的大小

127.0.0.1:6379> LINDEX list01 2"2"127.0.0.1:6379> LLEN list01(integer) 3

ltrim:截取指定索引區間的元素,格式是ltrim list的key 起始索引 結束索引,截取當前范圍的值再賦值給key

rpoplpush 源列表 目的列表,移除列表的最后一個元素,并將該元素添加到另一個列表并返回

數據類型Set,無序集合

127.0.0.1:6379> sadd set01 1 1 2 2 3 3(integer) 3127.0.0.1:6379> SMEMBERS set01 1) "1"2) "2"3) "3"#判斷是否是set01集合成員127.0.0.1:6379> SISMEMBER set01 1(integer) 1

scard,獲取集合里面的元素個數

srem key value 刪除集合中元素

127.0.0.1:6379> SCARD set01(integer) 3127.0.0.1:6379> SREM set01 3(integer) 1127.0.0.1:6379> SMEMBERS set011) "1"2) "2"

srandmember key 某個整數(隨機出幾個數)

spop key 隨機出棧

smove key1 key2 在key1里某個值 , 作用是將key1里的某個值賦給key2

127.0.0.1:6379> sadd set02 1 2 3 6 7 8(integer) 6127.0.0.1:6379> smembers set021) "1"2) "2"3) "3"4) "6"5) "7"6) "8"127.0.0.1:6379> sadd set01 1 2 3 4 5 6 7(integer) 5127.0.0.1:6379> smove set01 set02 5(integer) 1127.0.0.1:6379> smembers set021) "1"2) "2"3) "3"4) "5"5) "6"6) "7"7) "8"

交集(sinter key1 key2)/并集(sunion key1 key2)/差集(sdiff key1 key2)

數據類型之Hash:Hash(哈希,類似java里的Map

127.0.0.1:6379> hset user id 11(integer) 1127.0.0.1:6379> hget user id"11"127.0.0.1:6379> hmset user id 11 name zhangsan sex male OK127.0.0.1:6379> hgetall user1) "id"2) "11"3) "name"4) "zhangsan"5) "sex"6) "male"127.0.0.1:6379> hmget user id name1) "11"2) "zhangsan"127.0.0.1:6379> hdel user sex(integer) 1127.0.0.1:6379> hgetall user1) "id"2) "11"3) "name"4) "zhangsan"

hlen:獲取hash列表的鍵值對數目

127.0.0.1:6379> hmset user id 11 name zhangsan sex male age 22OK127.0.0.1:6379> hgetall user1) "id"2) "11"3) "name"4) "zhangsan"5) "sex"6) "male"7) "age"8) "22"127.0.0.1:6379> hlen user(integer) 4

hexists key 在key里面的某個值的key

hkeys/hvals key,獲取某個hash列表的key值和value值

hincrby key key1 n,hash列表某個key的value值加n

127.0.0.1:6379> hexists user id(integer) 1127.0.0.1:6379> hkeys user1) "id"2) "name"3) "sex"4) "age"127.0.0.1:6379> hvals user1) "11"2) "zhangsan"3) "male"4) "22"127.0.0.1:6379> hincrby user age 2(integer) 24127.0.0.1:6379> hvals user1) "11"2) "zhangsan"3) "male"4) "24"

數據類型之zset:sorted set,有序集合,在set基礎上,加一個score值。之前set是k1 v1 v2 v3,現在zset是k1 score1 v1 score2 v2。

127.0.0.1:6379> zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5(integer) 5127.0.0.1:6379> zrange zset01 0 -11) "v1"2) "v2"3) "v3"4) "v4"5) "v5"127.0.0.1:6379> zrange zset01 0 -1 withscores 1) "v1" 2) "60" 3) "v2" 4) "70" 5) "v3" 6) "80" 7) "v4" 8) "90" 9) "v5"10) "100"

zrangebyscore key 開始score 結束score

127.0.0.1:6379> zrangebyscore zset01 60 901) "v1"2) "v2"3) "v3"4) "v4"

limit用法:

127.0.0.1:6379> zrangebyscore zset01 60 90 limit 2 21) "v3"2) "v4"

zrem key 某score下對應的value值,作用是刪除元素

zcount key score區間/zrank key values值,作用是獲得下標值。zscore key 對應值,獲得分數

127.0.0.1:6379> zrank zset01 v4(integer) 3127.0.0.1:6379> zcount zset01 60 90(integer) 4127.0.0.1:6379> zscore zset01 v4"90"

逆序獲得zset集合值

127.0.0.1:6379> zrevrange zset01 0 -11) "v4"2) "v3"3) "v2"4) "v1"

根據分數逆序獲取value值

127.0.0.1:6379> zrevrangebyscore zset01 90 601) "v4"2) "v3"3) "v2"4) "v1"

并不完整。。。。下次再加吧


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产自在精品国产浪潮| 97超碰国产精品女人人人爽| 91精品国产成人www| 日本国产一区二区三区| 一区二区三区在线播放欧美| 日韩精品福利网站| 麻豆国产va免费精品高清在线| 久久综合亚洲社区| 日韩成人在线电影网| 欧美成人一区在线| 国产精品稀缺呦系列在线| 亚洲欧美国产精品专区久久| 久久久久中文字幕2018| 国产精品va在线播放我和闺蜜| 国产精品久久久久国产a级| 国产成人精品日本亚洲专区61| 亚洲自拍偷拍网址| 久久大大胆人体| 国产在线观看一区二区三区| 国产精品美腿一区在线看| 精品久久久久人成| 久久福利网址导航| www国产精品com| 久久亚洲私人国产精品va| 日本国产一区二区三区| 成人h视频在线观看播放| 日韩欧美a级成人黄色| 日韩中文字幕亚洲| 国产亚洲福利一区| 成人自拍性视频| 久久在精品线影院精品国产| 亚洲xxxxx| 国产成人久久精品| 久久国产精品影片| 亚洲国产成人精品久久| 中文字幕最新精品| 国产精品视频一区二区高潮| 九九视频直播综合网| 亚洲国产精品va在线看黑人动漫| 一区二区欧美亚洲| 亚洲毛片在线免费观看| 中文字幕日韩有码| 91精品综合视频| 欧美大片免费看| 精品人伦一区二区三区蜜桃网站| 精品视频9999| 亚洲电影天堂av| 亚洲人成网7777777国产| 中文字幕视频在线免费欧美日韩综合在线看| 久热国产精品视频| 91亚洲精品久久久久久久久久久久| 国产精品第一第二| 欧美最猛性xxxxx(亚洲精品)| 日韩精品一二三四区| 一区国产精品视频| 久久91精品国产| 亚洲成**性毛茸茸| 亚洲**2019国产| 国产精国产精品| 亚洲图片欧美日产| 美女视频黄免费的亚洲男人天堂| 日韩欧美在线视频观看| 国内精品伊人久久| 欧美国产日韩一区二区在线观看| 97热精品视频官网| 久久国产加勒比精品无码| 亚洲女同性videos| 中文字幕在线看视频国产欧美| 51色欧美片视频在线观看| 色综合视频网站| 亚洲第一区中文99精品| 国产一区二区香蕉| 欧美精品制服第一页| 久久久久www| 日韩电视剧免费观看网站| 欧美黄色片在线观看| 欧美激情网友自拍| 欧美风情在线观看| 国产色婷婷国产综合在线理论片a| 久久免费成人精品视频| 国产大片精品免费永久看nba| 亚洲精品永久免费| 日韩中文字幕在线播放| 日韩欧美在线观看视频| 最近2019中文免费高清视频观看www99| 欧美高清性猛交| 国产在线观看精品一区二区三区| 国产日韩专区在线| 自拍偷拍亚洲欧美| 国产精品视频精品视频| 全亚洲最色的网站在线观看| 久久久久久久久久久久av| 欧美另类69精品久久久久9999| 亚洲欧美另类在线观看| 亚洲国产又黄又爽女人高潮的| 高清亚洲成在人网站天堂| 亚洲视频自拍偷拍| 国产高清在线不卡| 国产精品海角社区在线观看| 亚洲free性xxxx护士hd| 超碰日本道色综合久久综合| 中文字幕日韩高清| 中文字幕日韩电影| 91精品国产免费久久久久久| 久久久精品视频在线观看| 亚洲2020天天堂在线观看| 日韩在线www| 久久av红桃一区二区小说| 亚洲精品有码在线| 欧美xxxx18国产| 91精品久久久久久久久久另类| 国产精品96久久久久久| 97免费视频在线播放| 国产欧美欧洲在线观看| 青青草一区二区| 黄色一区二区在线观看| 久久97精品久久久久久久不卡| 亚洲午夜色婷婷在线| 久久久久久久久久久久av| 国产精品一区二区性色av| 国产成人欧美在线观看| 国产精品第二页| 狠狠躁18三区二区一区| 中文字幕国内精品| 欧美另类老女人| 欧美美最猛性xxxxxx| 久久久久国色av免费观看性色| www.欧美精品一二三区| 国产精品盗摄久久久| 欧美激情手机在线视频| 久久久精品999| 国产日韩欧美视频在线| 日韩成人av网址| 九色精品免费永久在线| 91综合免费在线| 欧美特级www| 97成人精品区在线播放| www.亚洲人.com| 亚洲欧美第一页| 亚洲成人在线视频播放| 欧美激情在线一区| 91久久久久久久久久| 国产999在线| 91精品国产自产在线老师啪| 91精品美女在线| 欧美大片免费观看| 欧美午夜片在线免费观看| 欧美野外猛男的大粗鳮| 久久九九热免费视频| 91亚洲精品在线观看| 最近2019中文免费高清视频观看www99| 久久久久久久国产| 91免费国产视频| 成人黄色免费看| 欧美视频免费在线| 在线播放精品一区二区三区| 久久久久久久一区二区| 久久精品国产清自在天天线| 韩国一区二区电影| 久久亚洲欧美日韩精品专区| 亚洲国产古装精品网站| 色婷婷**av毛片一区| 中文字幕日韩av综合精品| 国产精品视频中文字幕91|