Redis是一个NoSQL数据库,以key-value进行存储,支持高并发
主要特性: 线程安全、非阻塞(速度快),高耗时命令很危险(keys)
key 和value -最大为512M ,大于1024的key不是一个好主意
string 类型
无int float boolean概念
命令列表:
set/setex/setnx
(设置值,设置值和过期时间,设置值只当其不存在时)
get/getset(为一个key设置value并返回原始值)
INCR/decr
数值递增或递减 1
incrby/decrby
数值递增或递减 指定步长
list 类型
lpush/rpush
lpop/rpop
llen/lrange
LINDEX 获得某个位置元素
lset 在某个位置插入元素
SET
无序集合,保证不会有重复数据
HASH
键值对
批量执行:
Pipelinig
事务
清空数据:
flushdb
flushall
其它:
dbsize key的数量
持久保持
save 60 100 60秒内 100次变更则存盘
所有支持命令列表:
参考资料
常见命令使用
https://blog.csdn.net/u011277123/article/details/78692603/
codis
高可用技术方案
https://github.com/CodisLabs/codis
https://github.com/CodisLabs/codis/blob/release3.2/doc/tutorial_zh.md
FAQ:
redis多个库,不同的库之间操作是否相互影响?
Redis定时备份
https://www.kancloud.cn/tuna_dai_/day01/372459
#!/bin/bash
set -x
BACKUPDIR=/data/redis/backup
PASSWD='redis密码'
PORT = 6379
SAVE = `/usr/local/bin/redis-cli -p "$PORT" -a "$PASSWD" save`
DATADIR=`/usr/local/bin/redis-cli -p "$PORT" -a "$PASSWD" config get dir|grep -Ev 'dir|grep'`
DATE=`date +'%Y-%m-%d-%H:%M'`
if [ ! -d $BACKUPDIR ];then
mkdir $BACKUPDIR \
|| echo "can't make dir !!!" \
&& exit 1
fi
cp $DATADIR/dump.rdb $BACKUPDIR/$DATE.rdb
if [ $? -eq 0 ];then
echo '1' >> $BACKUPDIR/record.log
else
echo '0' >> $BACKUPDIR/record.log
fi
https://blog.csdn.net/xyang81/article/details/51477925
主机之间免密拷贝文件