1、關係型資料:mysql(開源免費):表與表之間,欄位與字段有一定關聯性,是密不可分的
2、非關係型資料庫:redit、mongodb,與關係型不同,沒有嚴格的關聯性
速度對比:非關係型資料的速度較快,基於記憶體
字段限制:關係型資料必須要有值
儲存穩定性:關係型資料庫比較穩定,一般不會丟失資料。
比較:關係型資料庫中的字段與字段之間是有一定關係的,所以有些可以不用有value的字段,使用關係型資料庫,這個欄位要佔一定的空間,而非關係型資料庫不一樣
1、分析特點:速度快(基於記憶體),沒有字段要求,可能出現資料的丟失(重啟)
2、非關聯式資料庫的用處:將不經常使用的資料儲存起來,使用者在檢視的時候直接訪問資料庫讀取資料,當作快取資料庫使用。
效率非常快,是c語言開發的
1.是非關係型資料庫
2.key-value型資料庫
3.支援五種資料格式 : string、list、set、zset、hash
4.基於c語言開發
5.基於記憶體也可以持久化的資料庫
mv 包名 想要放到的目錄
tar -zxvf 包名 解壓
#編譯安裝
make
# 啟動服務
./src/redis-server
異常處理
cc: 未找到命令
yum install gcc -y
jemalloc/jemalloc.h 沒有那個檔案或目錄
make malloc=libc
[root@localhost ~]
# cd /usr/local/redis/src/
#開啟服務後,新開乙個視窗,遠端連線
[root@localhost src]
# ./redis-cli
#存值127.0.0.1:6379>
set name zhangsan
ok127.0.0.1:6379> get name
"zhangsan"
#修改值
127.0.0.1:6379>
set name lisi
ok127.0.0.1:6379> get name
"lisi"
#刪除127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379>
#hset 存值
127.0.0.1:6379> hset user id 1 name jing age 18 address guizhou
(integer) 4
#獲取物件中的某乙個字段
127.0.0.1:6379> hget user id
"1"# hgetall 獲取hash欄位中所有的資料
127.0.0.1:6379> hgetall user
1)"id"
2)"1"
3)"name"
4)"jing"
5)"age"
6)"18"
7)"address"
8)"guizhou"
# 獲取字段所有的值
127.0.0.1:6379> hvals user
1)"1"
2)"jing"
3)"18"
4)"guizhou"
#獲取所有的字段
127.0.0.1:6379> hkeys user
1)"id"
2)"name"
3)"age"
4)"address"
#新增字段
127.0.0.1:6379> hset user love langqiu
(integer) 1
127.0.0.1:6379> hgetall user
1)"id"
2)"1"
3)"name"
4)"jing"
5)"age"
6)"18"
7)"address"
8)"guizhou"
9)"love"
10)"langqiu"
127.0.0.1:6379> hset user love zuqiu
(integer) 0
127.0.0.1:6379> hgetall user
1)"id"
2)"1"
3)"name"
4)"jing"
5)"age"
6)"18"
7)"address"
8)"guizhou"
9)"love"
10)"zuqiu"
# 根據key刪除資料
127.0.0.1:6379> del user
(integer) 1
127.0.0.1:6379> hkeys user
(empty list or set)
#檢視redis資料庫中所有的key
keys *
# 新增資料
127.0.0.1:6379> lpush userlist zhangsna lisi jingjing wangwu
(integer) 4
127.0.0.1:6379> lrange userlist 0 1
1)"wangwu"
2)"jingjing"
127.0.0.1:6379> lpush userlist lisi
(integer) 5
# 當中的值是可以重複的
127.0.0.1:6379> lrange userlist 0 3
1)"lisi"
2)"wangwu"
3)"jingjing"
4)"lisi"
# 查詢所有資料
127.0.0.1:6379> lrange userlist 0 -1
1)"lisi"
2)"wangwu"
3)"jingjing"
4)"lisi"
5)"zhangsna"
#新增資料(自動完成去重)
127.0.0.1:6379> sadd userset zhangsan lisi wanwu jingjing jingjing zhangsan
(integer) 4
127.0.0.1:6379> srandmember userset
"jingjing"
# 查詢指定條數
127.0.0.1:6379> srandmember userset 4
1)"zhangsan"
2)"wanwu"
3)"jingjing"
4)"lisi"
# 遍歷
127.0.0.1:6379> smembers userset
1)"zhangsan"
2)"jingjing"
3)"lisi"
4)"wanwu"
定義了一種排序規則:分數score
#新增資料
127.0.0.1:6379> zadd menulist 1 lisi 0.5 jigjing 1.25 jingjing 2.25 liang
(integer) 4
#遍歷資料
127.0.0.1:6379> zrange menulist 0 -1
1)"jigjing"
2)"lisi"
3)"jingjing"
4)"liang"
vim redis.config
1.任何ip位址都可以訪問
bind 0.0.0.0
2.加入密碼(36%)
requirepass 123456
#結束程序後,載入配置檔案
[root@localhost src]
# ./redis-server ../redis.conf
#檢視程序
[root@localhost redis]
# ps -ef | grep redis
root 17580 65779 0 04:14 pts/3 00:00:00 grep --color=auto redis
root 63434 1 0 6月01 ? 00:00:23 ./redis-server *:6379
# 結束程序
[root@localhost redis]
# kill -9 63434
[root@localhost redis]
# ps -ef | grep redis
root 19347 65779 0 04:16 pts/3 00:00:00 grep --color=auto redis
public
static
void
main
( string[
] args )
g> userlist = jedis.lrange(「userlist」, 0, -1);
system.out.println(userlist);
jedis.hset(「user」,「id」,「2」);
string hget = jedis.hget(「user」, 「id」);
system.out.println(hget);
//連線是否成功
// jedis.ping();
//關閉資源
jedis.close();
}
認識資料庫
資料庫 database 是用來對資料進行操作的工具。所謂的資料,是指在現實世界冗雜的資訊中,提取出的有效字段組合。隨著計算機的發展,對資料的操作也經歷傳統的手工記錄資料 檔案系統 資料庫的演變過程。根據處理資料量的大小,我們將資料庫分成大中小三類。目前廣泛使用的大型資料庫有ibm的db2和甲骨文的...
資料庫的認識
1.資料庫管理系統和資料庫區別 資料庫管理系統 簡稱dbms 是位於使用者與作業系統之間的一層資料庫管理軟體,它可以科學的組織和儲存資料 高效地獲取和維護資料。資料庫 簡稱db 則是長期儲存在計算機內 有組織的 可共享的大量資料庫集合。結構化查詢語言sql 包含四個部分 資料定義語言 ddl 資料操...
認識Oracle資料庫
oracle由 oracle例項 和 oracle資料庫 組成。共涉及到 五個 概念。oracle資料庫 用來存放資料的,在安裝的時候,就完成建立,之後的操作都用來操作此庫。oracle例項 sid oracle的例項,連線資料庫進行操作,通過例項完成,連線也通過例項連線。oracle的監聽服務 可...