redis学习

key的通用指令

key的特征 key是一个字符串,通过key获取redis中保存的数据

基本操作
del key
exists key
type key

扩展操作(时效性控制)

为指定key设置有效期
expire key seconds
pexpire key milliseconds
expireat key timestamp 用 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
pexpireat key millisecons-timestamp
获取key的有效时间
ttl key -2代表不存在 -1代表值不存在或者没有设置时间
pttl key
切换key从时效性转换为永久性
persist key

扩展操作(查询模式)

keys pattern
* 匹配任意数量的任意符号 ? 匹配一个任意字符 [] 匹配一个指定符号

key其他操作

改名
rename key newkey
renamenx key newkey
排序
sort
其他key通用操作
help @generic

数据库的操作


切换数据库
select index 默认select 0
其他操作
quit
ping
echo message

db其他操作
数据移动
move key db 保证没有
数据清除
dbsize
flushdb
flushall

Linux下的redis操作

安装redis时 报错
1.zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
执行命令:make MALLOC=libc
2.安装好后
在src目录下要继续make install 如果你一开始就make install那么你就不用在继续执行了

指定端口
redis-sever --port 端口号
redis-cli -p 端口号

文件操作
cat redis.comf | grep -v "#" | grep -v "^$" 去掉注释和空格
^代表行首
\(代表行尾 ^\)代表空行

 mkdir data
 在这个文件夹中启动 redis-cli
 ps -ef | grep redis-查看是否运行

 新建一个conf文件夹然后把conf文件放进去 
 redis-server conf/redis-6379.conf 



 cp redis-6379.conf redis-6380.conf  复制文件

Redis持久化

save操作后生成一个dump.rdb文件
rm  -rf dump*删除dump.rdb文件
 kill -s 9 进程号   删除进程
 save在启动的时候加载的数据

 save指令的执行会阻塞当前Redis服务器, 直到当前RDB过程完成为止, 有可能会造成长时间阻塞, 线上环境不建议使用。

redis的事务

开启事务 multi 执行事务 exec 取消事务 discard 不能在事务中watch 锁 watch key1 key2 取消对所有key的监视 unwatch

分布式锁
setnx lock-key value
del操作释放锁

expire lock-key second

删除策略

posted @ 2020-03-31 14:22  Akmf's_blog  阅读(94)  评论(0)    收藏  举报