目录
Redies简介
Redis是什么
Redis优势
安装Redies
启动Redis server 进程命令
设置Redis密码
Redis简介
Redis是目前使用的非常广泛的内存数据库,相比Memcached,它支持更加丰富的数据类型。
Redis是什么
Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list, set, zset, hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
Redis优势:
❑ 性能极高。Redis能读的速度是110000次/s,写的速度是81000次/s。
❑ 丰富的数据类型。Redis支持二进制案例的Strings, Lists, Hashes, Sets及Ordered Sets数据类型操作。
❑ 原子性。Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和 EXEC指令包起来。
❑ 丰富的特性。Redis还支持publish/subscribe,通知,key过期等特性。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面是紧凑的、以追加的方式产生的,因为并不需要进行随机访问。
安装Redies
使用以下命令安装Redies(这里使用过的是12-Mar-2020 11:08 的稳定版本的包)
通过mkdir命令创建一个新的文件夹redis;
mkdir redis
然后使用mv命令将下载的redis-stable.tar.gz包移动到刚刚新建的文件夹下。
mv redis-stable.tar.gz /java/redis #我这里移动的目录是java文件夹下的redis文件夹
目的是为了便于查看解压后的文件,同时,不和下载目录下的其他文件混淆,这是一个管理文件的好习惯。
进入到移动后的redis文件夹
解压下载包
tar zxzf redies-stable.tar.gz
补充:解压两种命令
解压完成!
使用cd 命令进入解压后生成的redis-stable文件夹
然后使用make命令(具体make命令详情,请查看阮老师的 Make 命令教程)
cd redis-stable
make
make执行完成!
启动Redis server 进程命令
# 进入redis-stable/src目录
cd src # 进入后的目录为/java/redis/redis-stable/src
# 打开redis server命令:
redis-server
apt install redis-server
其中提示是否继续,输入Y,回车
再次输入
redis-server
成功启动!
# 打开另一个Putty窗口运行redis client命令:(后面讲redis-server的后台启动,就不用占用窗口了)
(启动更新窗口后,依旧使用cd命令进入 cd /java/redis/redis-stable/src 目录下)
redis-cli
此时,redis的服务端和客户端均已启动成功!
在redis-cli客户端执行
set foo bar 和 get foo 查看返回结果
OK!可以执行,这时我们就简单的安装了Redis的环境配置。
如果需要在远程redis服务上执行命令,同样我们使用的也是redis-cli命令。语法格式如下:
redis-cli -h host -p port -a password
代码示例:
redis-cli -h 127.0.0.1 -p 6379 -a '123456'
连接到主机为127.0.0.1,端口为6379,密码为123456的redis服务上。
使用 * 号获取所有配置项命令:
127.0.0.1:6379> config get *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) ""
5) "masterauth"
6) ""
7) "cluster-announce-ip"
8) ""
9) "unixsocket"
10) ""
11) "logfile"
12) ""
13) "pidfile"
14) ""
15) "slave-announce-ip"
16) ""
17) "maxmemory"
18) "0"
19) "proto-max-bulk-len"
20) "536870912"
21) "client-query-buffer-limit"
22) "1073741824"
23) "maxmemory-samples"
24) "5"
25) "lfu-log-factor"
26) "10"
27) "lfu-decay-time"
28) "1"
29) "timeout"
30) "0"
31) "active-defrag-threshold-lower"
32) "10"
33) "active-defrag-threshold-upper"
34) "100"
35) "active-defrag-ignore-bytes"
36) "104857600"
37) "active-defrag-cycle-min"
38) "25"
39) "active-defrag-cycle-max"
40) "75"
41) "auto-aof-rewrite-percentage"
42) "100"
43) "auto-aof-rewrite-min-size"
44) "67108864"
45) "hash-max-ziplist-entries"
46) "512"
47) "hash-max-ziplist-value"
48) "64"
49) "list-max-ziplist-size"
50) "-2"
51) "list-compress-depth"
52) "0"
53) "set-max-intset-entries"
54) "512"
55) "zset-max-ziplist-entries"
56) "128"
57) "zset-max-ziplist-value"
58) "64"
59) "hll-sparse-max-bytes"
60) "3000"
61) "lua-time-limit"
62) "5000"
63) "slowlog-log-slower-than"
64) "10000"
65) "latency-monitor-threshold"
66) "0"
67) "slowlog-max-len"
68) "128"
69) "port"
70) "6379"
71) "cluster-announce-port"
72) "0"
73) "cluster-announce-bus-port"
74) "0"
75) "tcp-backlog"
76) "511"
77) "databases"
78) "16"
79) "repl-ping-slave-period"
80) "10"
81) "repl-timeout"
82) "60"
83) "repl-backlog-size"
84) "1048576"
85) "repl-backlog-ttl"
86) "3600"
87) "maxclients"
88) "10000"
89) "watchdog-period"
90) "0"
91) "slave-priority"
92) "100"
93) "slave-announce-port"
94) "0"
95) "min-slaves-to-write"
96) "0"
97) "min-slaves-max-lag"
98) "10"
99) "hz"
100) "10"
101) "cluster-node-timeout"
102) "15000"
103) "cluster-migration-barrier"
104) "1"
105) "cluster-slave-validity-factor"
106) "10"
107) "repl-diskless-sync-delay"
108) "5"
109) "tcp-keepalive"
110) "300"
111) "cluster-require-full-coverage"
112) "yes"
113) "cluster-slave-no-failover"
114) "no"
115) "no-appendfsync-on-rewrite"
116) "no"
117) "slave-serve-stale-data"
118) "yes"
119) "slave-read-only"
120) "yes"
121) "stop-writes-on-bgsave-error"
122) "yes"
123) "daemonize"
124) "no"
125) "rdbcompression"
126) "yes"
127) "rdbchecksum"
128) "yes"
129) "activerehashing"
130) "yes"
131) "activedefrag"
132) "no"
133) "protected-mode"
134) "yes"
135) "repl-disable-tcp-nodelay"
136) "no"
137) "repl-diskless-sync"
138) "no"
139) "aof-rewrite-incremental-fsync"
140) "yes"
141) "aof-load-truncated"
142) "yes"
143) "aof-use-rdb-preamble"
144) "no"
145) "lazyfree-lazy-eviction"
146) "no"
147) "lazyfree-lazy-expire"
148) "no"
149) "lazyfree-lazy-server-del"
150) "no"
151) "slave-lazy-flush"
152) "no"
153) "maxmemory-policy"
154) "noeviction"
155) "loglevel"
156) "notice"
157) "supervised"
158) "no"
159) "appendfsync"
160) "everysec"
161) "syslog-facility"
162) "local0"
163) "appendonly"
164) "no"
165) "dir"
166) "/java/redis/redis-stable/src"
167) "save"
168) "3600 1 300 100 60 10000"
169) "client-output-buffer-limit"
170) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
171) "unixsocketperm"
172) "0"
173) "slaveof"
174) ""
175) "notify-keyspace-events"
176) ""
177) "bind"
178) ""
127.0.0.1:6379>
设置Redis密码
通常我们会设置redis密码,命令如下:
config set requirepass 123456
此时设置完密码在使用前面使用的congif get * 命令便提示需要权限(也就是输入密码)
使用密码授权登录:
auth 123456
可以看到Redis相关指令继续使用。
祝您学习愉快!以上就是Ubuntun安装Redies内存数据库的全部内容,有任何问题均可留言提问~