redis數據庫隨筆

一.什麼是nosql?:

特點:不再使用嚴格的表結構.同時不用sql語句作爲查詢

redis支持數據持久化操作,將內存裏面的數據保存到磁盤上

常見的支持的儲存數據的類型(value):string  hash  set  orderset 

二.Windows下安裝

1. 複製軟件

複製到D下的redis文件夾

2.在cmd裏面啓動服務(需要超級管理員的身份啓動)

D:\redis>redis-server.exe

3.另外在開一個終端cmd,使用客戶端連接redis服務器

D:\redis>redis-eli.exe

三.redis的數據類型 

1.string 類型

set設置值

set username asion

set age 20

get獲取值

get username

get age

incr自增

INCR age

incrby 指定自增的數字

INCRBY age 10

decr 自減

DECR age

decrby 指定自減

DECRBY age 10


id       name      pass        email        sex

1 asion   admin      [email protected] m

對應上表保存redis裏

set user:id:1:name asion

set user:id:1:pass admin

set user:id:1:email [email protected]

set user:id:1:sex m


取出數據:

keys user:id:1*


get user:id:1:name

2.hash類型

hset設置值:

hset user:userinfo name asion

hget獲取值:

hget user:userinfo name

hmset設置hash的多個值:

hmset user:userinfo name asion age 20 email 123@qq

hgetall 獲取整個可以的hash值

hgetall user:userinfo

3.link鏈表類型:

頭部壓如數據:

lpush link1 A

lpush link1 B

尾部:

rpush link2 A

rpush link2 B

lrange獲取鏈表裏面所有的元素

lrange link1 0 -1

lpop刪除鏈表裏面頭部的第一個元素,並返回該元素

lpop link1

rpop刪除尾部

rpop link1

4.set類型

sadd向集合添加元素

sadd dd yuansu1

sadd dd yuansu2

SMEMBERS查看:

SMEMBERS dd

求取共同好友:

SINTER 元素1的好友 元素2的好友

全部好友:

SUNION 元素1的好友 元素2的好友

推薦好友:使用差值

sdiff 元素1的好友 元素2的好友

5.orderset類型:有序集合裏面的元素是有序的,並且也是唯一的,也是確定的

1.zadd 添加有序集合

zadd php17 1 asion

zadd php17 2 bill

zadd php17 8 mark

2.zrange 獲取有序集合裏面的元素

zrange php17 0 -1

3.zrange  key 0 -1 WITHSCORES獲取權值

zrange  php17 0 -1 WITHSCORES

四.使用php操作redis

1.複製合適的擴展文件到php的ext目錄

php_igbinary.dll

php_redis.dll

2.修改配置文件php.ini

extension=php_igbinary.dll

extension=php_redis.dll

3.重啓apache

五.redis的一些小命令

linux環境下:cd /usr/local/redis/bin/

連接服務器:./redis-cli

1.keys * 看所有的key

2.del 刪除key(成功返回1 不成功返回0)

3.exists 檢測key是否存在(存在返回1 不存在返回0)

4.type 查看value的類型

5.flushdb 清空當前數據庫所有的key,只在測試的時候使用,線上千萬不要使用。

6.當前數據庫,注意redis默認是有16個數據庫(下標從0開始),但是這個不怎麼使用。使用select NUmber做切換

7.flushall 清除所有數據庫的key,千萬慎用

8.dbsize 查看當前數據的key的個數

七.linux環境下安裝redis

1.ftp上傳 

phpredis-2.2.4.tar.gz 

redis-3.0.7.tar.gz 

2.複製redis-3.0.7.tar.gz phpredis-2.2.4.tar.gz到/usr/local/src解壓

然後進入cd redis-3.0.7 

編譯:

make 

指定安裝路徑,進行安裝

make PREFIX=/usr/local/redis install

建立redis的配置文件目錄和配置文件的

copy mkdir /etc/redis  

cp redis.conf /etc/redis/

cd /etc/redis/bin

vim /etc/redis/redis.conf

daemonize yes

啓動服務

./redis-server /etc/redis/redis.conf

ps axu | grep redis

使用客戶端操作

./redis-cli

3.解壓phpredis-2.2.4.tar.gz

進入解壓後的目錄,並使用/usr/local/php/bin/phpize收集信息

使用./configure --with-php-config=/usr/local/php/bin/php-config來收集操作系統信息

編譯和安裝

make && make install

vim /usr/local/php/lib/php.ini

extension = redis.so

八.redis 安全問題

linux環境下:

vim /etc/redis/redis.conf

添加密碼:

requirepass admin

wq

pkill -9 redis

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

auth admin 或者 /usr/local/redis/bin/redis-cli -a admin

九.redis的持久化

redis的數據本身是保存在內存裏面的,但是redis提供了持久化的功能,可以把數據保存在磁盤上,下一次啓動redis服務的時候,會自動的把磁盤上的數據載入到內存裏面

linux環境下:

進入配置文件vim /etc/redis/redis.conf

save 900 1

save 300 10

save 60 10000

將內存裏面的數據持久化到磁盤

dbfilename dump.rdb

save 900 1 代表的含義:如果在900s或者900s以上有1次對key的操作則把內存數據持久化到磁盤上

save 300 10 代表的含義:如果在300s或者300s以上有10次對key的操作則把內存數據持久化到磁盤上

save 60 10000 代表的含義:如果在60s或者60s以上有10000次對key的操作則把內存數據持久化到磁盤上


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章