redis
Redis
0x00 conf
1. Introduce
2. 相关资源
3. 在Docker中使用Redis
-
连接容器
-
登陆 redis 用户界面:
redis-cli
命令行界面(英语:Command-Line Interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(character user interface, CUI)。
4. 修改端口号
redis 默认端口号为 6379
,而我已经有了一个 docker 容器占用了此端口号,因此我的 mac 本地和 ubuntu 都需要修改端口号。
- 修改 conf 文件
cd /etc/redis
,先备份redis.conf
到redis_back.conf
然后修改redis.conf
中的port
为没有被占用的端口号。
- 重启 redis 使得 conf 文件生效
sudo ervice redis-server restart
参考
5. 修改密码
- 修改 conf 文件
找到
#requirepass foobared
这一行,将注释去掉,修改foobared
为自己要设置的密码。注意 vim 下
:/
搜索,查找下/上一个匹配项是n/N
,不是回车。
- 重启 redis 使 conf 生效
sudo service redis-server restart
6. redis-cli
-a
参数指定密码
-p
指定端口号
-h
指定 IP 地址
–no-auth-warning
忽略警告信息
如果你开启了密码,即使不指定密码也能登陆,但无法使用,有两种方式指定密码:
redis-cli -a
,通过这种方式指定的密码会显示在command line
,不安全,因为通过history
可以查看。- 通过
redis-cli
登陆之后,使用auth
命令输入密码,虽然也会显示,但是他不会记录在history
中。
Do not use '-a', instead, running
auth password
explicitly inredis-cli
shell.Auth
command does not save in Redis-cli's command history.
7. Ubuntu 下 redis 数据目录
/var/lib/redis
下的 dump.rdb
文件
8. 下标
在 redis
世界中,下标从 0 开始
9. 事务
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。
0x01 noun
daemonize:守护进程
blpop: blocking left pop
brpop: blocking right pop
sard: set cardinality(势,基数)
0x02 DataStruct
- string
- hash
- list
- set
- zset(sorted set)
0x03 command
1. KEY
keys pattrn
type key
rename key newname
exist key
del key
dump key
random key
select idx