当前位置:网站首页>redis的详细介绍与操作命令
redis的详细介绍与操作命令
2022-08-08 15:38:00 【Ponnenult】
前言:
redis是缓存,常用的一些数据,我们为了提升接口效率,缓存是必须的功能。
一、具体介绍
1、Redis为什么这么快
- Redis是纯内存操作,需要的时候需要我们手动持久化到硬盘中
- Redis是单线程,从而避开了多线程中上下文频繁切换的操作。
- Redis数据结构简单、对数据的操作也比较简单
- 使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求
- 使用多路I/O复用模型,非阻塞I/O
2、Redis地址
- 官网地址:https://redis.io/
- redis中文地址:https://redis.io/
- 命令地址:http://doc.redisfans.com/
3、安装详细教程:
4、Redis的配置文件
/etc/redis/redis.conf
当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
daemonize no
监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
port 6379
设置数据库的数目。
databases 16
根据给定的时间间隔和写入次数将数据保存到磁盘
下面的例子的意思是:
900 秒内如果至少有 1 个 key 的值变化,则保存
300 秒内如果至少有 10 个 key 的值变化,则保存
60 秒内如果至少有 10000 个 key 的值变化,则保存
save 900 1
save 300 10
save 60 10000
监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
port 6379
bind 127.0.0.1 //Redis默认只允许本地连接,不允许其他机器连接
5、Redis数据库简单使用:
dbsize 查看当前数据库的key数量
keys * 查看所有的key的内容
flushdb 清空当前数据库的key的数量
flushall 清空所有库的key
exists key 判断key是否存在
type key 查看数据的类型
setex key second value 设置key、value并创建出来
ttl key 查看多久后过期
expire key second 设置key过期时间
二、具体操作:增删改查 这里重点介绍string
1、string 类型的数据
增(增key):append key keyName
改(改key对应的值):set key value
改多个:set key1 value1 key2 value2
查(查key对应的值):get key
查多个:mget key1 key2 key3
删:del key1 key2
返回字符串长度:strlen key
依次增1: incr key value 比如: incr num 结果:num就变成了原来数据+1
依次减1: decr key value 比如: incr num 结果:num就变成了原来数据-1
规定加多少:incrby key 3
规定减多少:decrby key 2
获取指定下标范围内的字符串:getrange key start end
从第几位开始就开始替换: setrange key 下标num 内容
例如:setrange key 5 demo 结果:"smalldemo"
2、list类型
根据索引来给出相对应的值:lindex list 0 类似我们 取list[0]
从左获取长度(倒序排序):lpush list
3、hash类型:
...
4、set 集合:
通过使用sadd命令,用户可以将一个或多个元素添加到集合中:sadd 集合1 集合2 集合3
更多资料:
边栏推荐
- 从洞察到决策,一文解读标签画像体系建设方法论丨DTVision分析洞察篇
- bzoj2816 [ZJOI2012]网络
- C#/VB.NET convert PDF to PDF/X-1a:2001
- Install Update(Patches) on ESXi
- “科林明伦杯”哈尔滨理工大学暑假训练赛 B吃雪糕 (异或思维题)(补题)
- 全网首发!消息中间件神仙笔记,涵盖阿里十年技术精髓
- CS231n: 6 training neural network (2)
- Synergistic authors open source throttling, 2022 trend of technology foresight (asynchronous programming/container technology)
- IBM3650M4的ESXI主机报警“其他主机硬件对象的状态”
- Guanghong Technology: The company provides manufacturing services for Xiaomi, Samsung, OPPO, Nokia and other products in India
猜你喜欢
程序发生run time error原因及解决方案
分享这些2022设计师们决不能错过的Blender新插件
【Unity入门计划】用双血条方法控制伤害区域减血速度
【愚公系列】华为云云数据库MySQL的体验流程|【华为云至简致远】
Redis RDB分析系统
【服务器数据恢复】Ext4文件系统fsck后mount不上并报错的数据修复案例
有了这个开源工具后,我五点就下班了!
全网首发!消息中间件神仙笔记,涵盖阿里十年技术精髓
Thoroughly understand the volatile keyword and application scenarios, and it is a must for interviews, and Xiaobai can understand it!
Tungsten Fabric SDN — OpenStack 与 Kubernetes 异构集群统一 SDN 方案
随机推荐
IBM3650M4的ESXI主机报警“其他主机硬件对象的状态”
如何选择ui设计机构
Create a 2D array
leetcode/删除链表的倒数第n个结点
带你玩转“超大杯”ECS特性及实验踩坑【华为云至简致远】
光弘科技:公司在印度为小米、三星、OPPO、诺基亚提供智能手机等产品的制造服务
JS-Bom-while (calculate leap year)
MySQL:Update高并发下变慢的案例及其涉及的特性
彻底理解 volatile 关键字及应用场景,面试必问,小白都能看懂!
分享这些2022设计师们决不能错过的Blender新插件
全网首发!消息中间件神仙笔记,涵盖阿里十年技术精髓
sqoop连接MySQL跟本机不一致是为什么
表实时同步,没有etl 可以用这个吗,从mysql到mysql
什么是幂等性
761. 特殊的二进制序列 : 经典构造题
Common regularization methods in deep learning (Regularization) and detailed explanation of WeightDecay parameters in optimizers
【Unity入门计划】用双血条方法控制伤害区域减血速度
文档管理系统:攻克这3个痛点,解决80%企业文档管理难题
A16z:为什么 NFT 创作者要选择 cc0?
All volunteers V853 chip Tina RTSP environment set up