欢迎这位怪蜀黍来到《非关系数据库之redis入门到实战(1)Redis高级应用 - 大码王 - 博客园》

关闭页面特效

1.安全性

 

设置密码:

vi /alidata/server/redis-3.2.1/redis.conf

1
[root@iZ28c6xv2w0Z redis-3.2.1]# vi /alidata/server/redis-3.2.1/redis.conf

找到:requirepass

1
2
# requirepass foobared
requirepass 123456

重新启动数据库:

1
2
[root@iZ28c6xv2w0Z redis-3.2.1]# pkill redis-server
[root@iZ28c6xv2w0Z src]# ./redis-server /alidata/server/redis-3.2.1/redis.conf

进入客户端并执行命令,提示没有权限:

1
2
3
[root@iZ28c6xv2w0Z src]# ./redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

输入密码:

aoth 123456

1
2
3
4
5
6
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> keys *
1) "name"

 

登录时即输入密码:

./redis-cli -a 123456

添加-a输入密码

1
2
3
[root@iZ28c6xv2w0Z src]# ./redis-cli -a 123456
127.0.0.1:6379> keys *
1) "name"

 

2.主从复制

 

 

3.事务处理

开启事务:

multi

 

其他命令..

 

执行:

exec

1
2
3
4
5
6
7
8
9
10
11
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set age 19
QUEUED
127.0.0.1:6379> set age 20
QUEUED
127.0.0.1:6379> exec
1) OK
2) OK
127.0.0.1:6379> get age
"20"

 

取消事务(回滚):

discard

1
2
3
4
5
6
7
8
9
10
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set age 17
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> get age
"20"

 

乐观锁:

watch age        开启监视

unwatch           清除所有监视,断开连接也会清除所有监视

 

 

4.持久化机制

 

snapshotting方式(默认):

默认名为dump.rdb

1
2
3
save 900 1    #900秒中有一个键被修改保存一次
save 300 10    #300秒中有十个健被修改保存一次
save 60 10000    #60秒中有10000个健被修改保存一次

aof方式:

配置文件中:

1
[root@iZ28c6xv2w0Z src]# vi /alidata/server/redis-3.2.1/redis.conf

appendonly yes    #启用aof持久化

appendfsync always    #收到命令立即写入磁盘,最慢,但保证完全持久化

appendfsync everysec    #每秒写入磁盘一次,性能与持久化折中

appendfsync no    #完全依赖os,性能最好,持久化没保证

 

1
2
3
# appendfsync always
appendfsync everysec
# appendfsync no

配置完成后重启redis

在src下会有一个名为 appendonly.aof 文件

 

5.发布订阅消息

 

发布消息:

publish tv1 xiaoming

返回的值为监听人数。

1
2
127.0.0.1:6379> publish tv1 xiaoming
(integer) 1

 

监听消息:

subscribe tv1 tv2

在客户端二收到的消息:

1
2
3
4
5
6
7
8
127.0.0.1:6379> subscribe tv1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "tv1"
3) (integer) 1
1) "message"
2) "tv1"
3) "xiaoming"

 

6.虚拟内存的使用

 

虚拟内存配置:

1
[root@iZ28c6xv2w0Z src]# vi /alidata/server/redis-3.2.1/redis.conf

添加如下配置:

vm-enabled yes    #开启vm功能

vm-swap-file /tmp/redis.swap    #交换出来的value保存的文件路径

vm-max-memory 1000000    #redis使用的最大内存上限

vm-page-size 32    #每个页面的大小32字节

vm-pages 134217728    #最多使用多少页面

vm-max-threads 4    #用于执行value对象换入的工作线程数量

 

配置好后重启

 posted on   大码王  阅读(94)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

成都

复制代码

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示