Redis

Redis有16个数据库

默认使用第0个

数据库切换select number

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7YeUjKqs-1611627084867)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210124173424570.png)]

127.0.0.1:6379> select 3  #切换数据库
OK
127.0.0.1:6379[3]> dbsize  #查看数据库中的数据数量
(integer) 0
127.0.0.1:6379[3]> set name fengfeng  #添加数据
OK
127.0.0.1:6379[3]> dbsize
(integer) 1
127.0.0.1:6379[3]> select 7
OK
127.0.0.1:6379[7]> dbsize
(integer) 0
127.0.0.1:6379[7]> 
127.0.0.1:6379[3]> flushdb #清空数据库
OK
127.0.0.1:6379[3]> keys *
(empty array)
127.0.0.1:6379[3]>
127.0.0.1:6379> flushall #清空全部数据库
OK

flushdb #清空数据库

flushall#清空全部数据库

Redis 是单线程的

所以Redis的性能瓶颈不是CPU,而是机器内存和网络带宽。

那么为什么Redis的速度如此快呢,性能这么高呢?QPS达到10W+

  • 误区1:高性能的服务器一定是多线程的?
  • 误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

核心:Redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的,多次读写都是在一个CPU上的,在内存存储数据情况下,单线程就是最佳的方案。

string

移动

127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> keys *
1) "age"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "name"

move

设置过期时间expire

127.0.0.1:6379[1]> get name
"fengfeng"
127.0.0.1:6379[1]> expire name 10
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) 6
127.0.0.1:6379[1]> ttl name #查看剩余时间
(integer) 4
127.0.0.1:6379[1]> ttl name
(integer) 3
127.0.0.1:6379[1]> ttl name
(integer) 2
127.0.0.1:6379[1]> ttl name
(integer) 0
127.0.0.1:6379[1]> ttl name
(integer) -2
127.0.0.1:6379[1]> get name
(nil)
127.0.0.1:6379> keys *
1) "age"
2) "name"
127.0.0.1:6379> type age  #查看当前key的类型
string
127.0.0.1:6379> type name
string
127.0.0.1:6379> set key1 key
OK
127.0.0.1:6379> set key1 v1
OK
127.0.0.1:6379> get key1
"v1"
127.0.0.1:6379> append key1 hello
#追加字符串,如果当前key不存在,就相当于 set key
(integer) 7
127.0.0.1:6379> get key1
"v1hello"
127.0.0.1:6379> strlen key1  #获取字符串长度
(integer) 7
127.0.0.1:6379> append key1 ,fengfeng
(integer) 16
127.0.0.1:6379> get key1
"v1hello,fengfeng"
127.0.0.1:6379> strlen key1
(integer) 16
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views  #自增一
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> decr views  #自减一
(integer) 1
127.0.0.1:6379> decr views
(integer) 0
127.0.0.1:6379> decr views
(integer) -1
127.0.0.1:6379> get views
"-1"
127.0.0.1:6379> incrby views 10  #按照步长增
(integer) 9
127.0.0.1:6379> incrby views 10
(integer) 19
127.0.0.1:6379> decrby views 5  #按照步长减
(integer) 14
127.0.0.1:6379> decrby views 5
(integer) 9

getrange

Redis五大基本类型(狂神视频笔记)相关推荐

  1. Redis五大基本类型三种特殊数据类型事务操作(悲观锁,乐观锁)

    Redis五大基本类型 Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.它支持多种类型的数据 结构,如字符串(strings),散列(hashes) ...

  2. SpringCloud学习笔记(一)(狂神视频笔记)

    SpringCloud(一) 微服务架构4个核心问题 服务很多,客户端该怎么访问? 这么多服务,服务之间如何通信? 这么多服务,如何治理? 服务挂了怎么办? 解决方案: ​ Spring Cloud ...

  3. Redis五大基本数据类型String练习笔记

    String(字符串) ####################################################################### 127.0.0.1:6379&g ...

  4. Redis详细讲解-狂神视频学习

    狂神视频学习笔记 https://www.bilibili.com/video/BV1S54y1R7SB?p=36 一.Nosql概述 1. 什么是Nosql NoSQL = Not Only SQL ...

  5. Docker容器学习笔记(看了狂神视频)

    狂神的笔记更加系统详细,推荐大家可以去看狂神的视频教程和笔记.我这里仅根据我自己的需求写的笔记,对于需要快速掌握docker的使用的朋友可以参考学习. Docker 背景需求 之前,开发一套环境,上线 ...

  6. MySQL(狂神说笔记)

    MySQL(狂神说笔记) 1.初始数据库 1.1为什么学习数据库? 1.岗位需求 2.现在的世界,大数据时代,得数据库者得天下. 3.被迫需求: 存数据 4.数据库是所有软件体系中最核心的存在: DB ...

  7. ElasticSearch(狂神说笔记)

    ElasticSearch(狂神说笔记) ES安装及head插件安装 声明:JDK 1.8以上,最低要求!ElasticSearch 客户端.界面工具! Java 开发,ElasticSearch的版 ...

  8. RabbitMQ狂神说笔记(RabbitMQ B站狂神说笔记、KuangStudy、学相伴飞哥)

    一. 引用文章 RabbitMQ狂神说笔记(B站狂神说笔记.KuangStudy.学相伴飞哥) RabbitMQ狂神说笔记(B站狂神说笔记.KuangStudy.学相伴飞哥)百度云盘地址,提取码:07 ...

  9. JavaWeb(引用-->狂神学习笔记)2021-08

    狂神学习笔记 1.基本概念(①) 1.1 前言 web开发: web,网页的意思,www.baidu.com· 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝, ...

最新文章

  1. oracle最大实例数,【Oracle】RAC的多实例数据迁移至单机的多实例。
  2. 在text html模版中写js,如何利用模板将HTML从JavaScript中抽离
  3. 【杂谈】野生在左 科班在右——数据结构学习誓师贴
  4. 字符常量在C和C++中的区别
  5. 状态管理工具vuex的基本使用(vuebus的理解)
  6. linux系统proc目录,快速了解Linux系统下的proc目录
  7. SpringBoot-异常处理
  8. c# 操作word中在右下角插入图片
  9. mysql获取上月的某一天
  10. POJ1142 HDU1333 ZOJ1133 Smith Numbers【质因数分解+素数判定+数位之和】
  11. Python学习Day7
  12. 斯坦福大学的 CS231n课程
  13. 【编译原理】- 递归下降的语法分析器的实现
  14. 修改植物大战僵尸游戏存档(Java实现版)
  15. Python爬虫系列之某了么h5签名sign算法
  16. 外卖CPS小程序部署指南,个人获取美团外卖小程序跳转链接
  17. 创建android studio桌面图标
  18. 路由器有线优先吗_如何设置有线上网优先 - 卡饭网
  19. WIN7截图工具灵活使用
  20. Linux运维面试题-01

热门文章

  1. 关于微信浏览器video标签无法播放mp4视频
  2. OpenCV学习笔记(十二)——图像分割与提取
  3. 实战:盒子的self-xss(盒子已忽略)
  4. 失败的飞机设计-脑洞一个比一个大:世界上最奇怪的15种飞机
  5. CSS动画之静态三角形画法与延后的汽车车灯
  6. Python 文件和目录管理(os)
  7. 计算机网络吴功益ppt,网络技术毕业设计(论文).doc
  8. GB2312和GBK的区别
  9. HTML+CSS基础面试题总结
  10. 关于使用XD制作软件UI