redis

1。redis的一下命令

默认有16个数据库

切换数据库:select 3【第三个3数据库】

查看数据库大小:DBSIZE

keys * 查看数据库所有的key

清除当前数据库:flushdb

清除所有数据库的内容:flushall

是否存在:EXISTS name(判断name键是否存在)

设置过期时间:expire name 10 

ttl name(查看name还有多久过期)

type name查看name是什么类型

redis是单线程的。

2。redis的五大数据类型:String,LIst,Set,Hash,Zset,三种特殊数据类型:geospatial(地理空间),hyperloglog,bitmaps

3。redis String类型讲解:追加字符串

append name "hello"(在name值里追加了hello,如果不存在就新加)

strlen name (name 的长度)

字符串数字类型增加1 : incr views

                         减少1:decr views

           增长步长:incrby views 10

                             decrby views 5

字符串截取:getrange name 0 3 

getrange name 0 -1(全部长度字符串)

字符串替换:setrange name 1 xx 

setex(set  with expire)设置过期时间

setnx(set if not exist)不存在再设置

同时设置多个值:mset k1 v1 k2 v2 k3 v3

                             mget k1 k2 k3 

                             msetnx k1 v1 k4 v4(失败,原子性操作,要么一起成功,要么一起失败】)

 4。redis事务本质:一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性,顺序性,排他性!执行一些列的命令。

multi  开启事务。。。。discard(取消事务)。。。exec触发执行事务中的命令

5.悲观锁:无论做什么都加锁

乐观锁:使用watch实现乐观锁

6.Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失,所以Redis提供了持久化功能!

持久化:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。

redis的持久化rdb(默认是rbd)和aof

 

 

 

 7.redis主从复制:写操作只能在主节点。

哨兵模式(自动选举老大的模式)

 8.Redis缓存穿透和雪崩

http://baijiahao.baidu.com/s?id=1655304940308056733&wfr=spider&for=pc

 

posted @ 2020-08-21 16:02  hulifang  阅读(95)  评论(0编辑  收藏  举报