ctrl + [
typora很好用,有个问题就是换行会自动跟上面的格式,按删除键也无效
ctrl + [就会把前面的格式给稀释掉。
有关typora上传博客园图片缩放的问题,办法就是在typora中粘贴图片以后发现缩放没有效果,然后就是去先点击缩放一下,然后就会出现style字段样式,这里指定的是zoom,我们把它改成width ,height这样的样式就可以起到效果。
Switching databases(切换数据库)
select 1
将值移动到其它数据库
将key这个键移动到一号数据库
move key1 1
Clearing the database(清空数据库)
flushall
flushdb
1、flushAll 清空数据库并执行持久化操作,也就是RDB文件会发生改变,变成76个字节大小(初始状态下为76字节),所以执行flushAll之后数据库真正意义上清空了。
2、flushDB 清空数据库,但是不执行持久化操作,也就是说RDB文件不发生改变.而redis的数据是从RDB快照文件中读取加载到内存的,所以在flushDB之后,如果想恢复数据库,则可以直接kill掉redis-server进程,然后重新启动服务,这样redis重新读取RDB文件,数据恢复到flushDB操作之前的状态。
注意:要直接kill 掉redis-server服务,因为shutdown操作会触发持久化。
查看端口占用
lsof(list open files )
lsof -i : 6379
lsof -i 需要 root 用户的权限来执行
netstat -tunlp | grep 8080
参数说明如下 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名
查看数据库当中所有的键
keys *
查看当前数据库的大小
dbsize
测试代码段 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> dbsize (integer) 0 127.0.0.1:6379[1]> set 2 3 OK 127.0.0.1:6379[1]> dbsize (integer) 1 127.0.0.1:6379[1]>
一些与键值有关的命令
一般赋值
set hello helloword
不存在就赋值
setnx hello helloword
进行批量的赋值
mset key1 value1 key2 value2
原子性的批量赋值
原子性的批量赋值的特点就是这些多个赋值之中,如下,结合不存在这种赋值的话,也就是当这种多个赋值之中,有的已经存在了,那么就不会进行赋值成功,那么另外一个页不会成功,这里类似sql中的事务
msetnx hello helloword hello3 helloword3
设置对象类型的赋值
set user:1 {name:sail,age:27}
set user:2 {name:hello,age:28}
获取到对应键的值
get user:1
取值赋值
getset hello "nice to meet you"
获取键对应的长度
strlen hello
获取所有的键
keys *
删除key
del hello
判断键是否存在
exists hello
自增
自增单位1(incr)
先设定一个数字的值
set num 1
让这个数字的值自增
incr num
再重新获取到这个值
get num
自增设置步长(incrby)
incrby num 10
自减(decr)
decr num1
截取键索引范围字段
getrange hello 0 -1
指定索引位置替换
setrange hello 2 r
设置过期时间
setex hello 60 "hello word"
查看过期时间
ttl hello
redis这里这个类型其实可以认为是一个双端队列
所有的list命令都是以l开头
相关的命令
从左边插入,相当于从双端对比、列额左边插入到列表的头部可以插入多个值
lpush list one two three
这样插入的话再从一个方向获取值的话就是按照先进后出的规则
lrange list 0 -1
还可与从右边进行push
rpush list 2 3 4
获取到值
lrange list 0 -1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6JDIh68-1663585401083)(https://img2022.cnblogs.com/blog/2145006/202209/2145006-20220919185537039-353541965.png)]
这样从右边push进去的话,然后lrange 取得话,就会变成先进先出了。这里可以理解为从右边进的话,其实还是lrange还是从左边取,这样就可以发现符合这样的规律。
还可以给元素的前后进行插入赋值
linsert list before 2 1
linsert list after 4 5
元素指定下标进行赋值
lset list 0 one
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rBv4RNFl-1663585401084)(https://img2022.cnblogs.com/blog/2145006/202209/2145006-20220919185606817-2095471764.png)]
索引范围取值
lrange list 0 -1
* 获取指定索引的值
```redis
lindex list 0
获取列表的长度
llen list
![image-20220919185734415](https://img-blog.csdnimg.cn/img_convert/682751a20f79736dcd1d10e4c881614d.png)
* 判断列表是否存在
```redis
exists list
移除操作
从左边进行移除
lpop
从右边移除
```redis
rpop
一次移除多个元素(需要指定元素移除)
这种情况出现在list里面存在重复元素的时候,一次可以指定移除多个这样的元素
lrem list 2 4
![image-20220919185801334](https://img-blog.csdnimg.cn/img_convert/d61b2be3b765c9d879644e453a8e750e.png)
* `截取指定索引范围当中的元素(这样的截取其实就是类似于一次lpop掉多个元素)
```redis
ltrim list 0 -1
这里其实将列表中头部的元素push到另外的一个列表当中
rpoplpush list list2
基本的一些语法
set集合添加元素
sadd set set1
sadd set set2
查看集合当中存放的元素
smembers set
判断集合当中的元素是否存在
存在返回1,不存在返回0
sismember set hello
计算出集合当中的元素个数
scard set
查找出集合当中随机的一个元素
srandmember set
集合运算逻辑
1 求两个集合的差集
sdiff set1 set2
2 求两个集合的交集
sinter set1 set2
3 求两个集合的并集
sunion set1 set2
删除元素
srem set1 hello
删除随机元素
spop set1
移动元素
将set1 集合当中的name移动到set集合当中
smove set1 set name
提供思维的理解图
哈希赋值
hset hash f1 sail
获取到键对应的值
hget hash f1
多个hash赋值
hset hash f1 sail f2 sail1
不存在才赋值
hsetnx hash f4 1
自增
自增1
hincrby hash f3 1
设置自减的时候只需要将后面的数值设置为负数就可以
取值
hget hash f1
取多个键值
hmget hash f1 f2
取到所有的值
hgetall hash
取到所有的键
hkeys hash
取到所有的值
hvals hash
获取长度
hlen hash
判断字段是否存在
hexists hash f1
删除字段
hdel hash f1
思维图
zset是set的有序集合,set集合是无序不重复的,zset是有序不重复。
相比set,zset变得有序。
添加一个键的时候会对应一个值,二值对应的会有数字。这些数字其实就是可以作为排序的条件。
zadd set1 1 one 2 two 3 three
取值(取所有的值)
zrange set1 0 -1
倒序取值
zrevrange set1 0 -1
zcard set1
zrange set1 0 -1
进行排序
正序排列
zrangebyscore set1 -inf +inf
从负无穷排序到指定的数字
zrangebyscore set1 -inf 2
排序限定结果条数
从负无穷排序到2,然后限定条数是0~2条
zrangebyscore set1 -inf 2 limit 0 2
排序附带分数
zrangebyscore set1 -inf +inf withscores
倒序
zrevrangebyscore
语法格式一样
…
删除元素
删除指定的元素
zrem set1 three
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WRy9bbTd-1663585401096)(C:/Users/jgdabc/AppData/Roaming/Typora/typora-user-images/image-20220919190226560.png)]