当前位置:网站首页>软件测试——Redis数据库
软件测试——Redis数据库
2022-07-03 09:40:00 【软件测试情报局】
1.redis数据库
1.1NoSQL简介
NoSQL有多种解释:(Not relational SQL)意思为“非关系SQL”。
NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同甚至远远超过两种关系型数据库的不同,可以说,各种NoSQL产品各有所长,成功的NoSQL必然特别适用于某种场合或者某些应用。
目前国内众多网站,如淘宝、京东、百度等都在使用NoSQL的产品。
1.2redis简介
redis是一个免费开源的NoSQL产品。
redis使用ANSI C语言编写,是一个key-value存储系统。它支持存储的value类型很多,包括string、hash、list、set和zset(sorted set-有序集合)。
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
redis是一个高性能的key-value NoSQL产品,它提供了Java、C/C++,C#、PHP、等等开发接口,使用很方便。
1.3redis基本操作
(1)启动服务器
redis-sever
(2)启动客户端(不支持中文的)
redis-cli
(3)用下面的命令启动客户端,可以正确显示中文
redis-cli --raw
(4)运行测试命令
ping
服务器回复PONG代表成功
1.4切换数据库
select 选择数据库,redis有从0到15,16个数据库
select 3 选择3号数据库
select 0 选择0号数据库
默认选择的是0号数据库
1.5redis键值对说明
redis是key-value的数据结构
每条数据都是一个“键值对”
键的类型是字符串string
值的类型分为:字符串string、哈希hash、列表list、无序集合set、有序集合zset
1.5.1字符串string
set user1 aaa:添加一个键user1 值为aaa
setex user2 3 bbb :设置键值对user2为’bbb’,过期时间为3秒
mset user2 ccc user4 ddd user5 eee:同时添加多个键值对
append user haha:追加haha
get user1:获取user1的值
mget user1 user2 user3:获取多个值
del user1:删除值
del user2 user3:删除多个值
keys user1:查找键user1是否存在
keys *:查找所有键
exists user1:查找键,如果存在返回1,如果不存在返回0
type user1:查看user1对应的值的类型
expire user1 100;对已经存在的键设置过期时间100秒
ttl user1:以秒为单位,返回大于0代表有效时间,返回-1为永远有效,返回-2为键不存在
1.5.2哈希hash
1.用于存储键值对的集合
2.每个哈希中的键可以理解为字段(field),一个字段(field)对应一个值value
3.hash中值value类型为字符串string
4.同一个哈希中字段名field不可以重复
hset huser1 name tom:hset 键 字段 值
hmset huser2 name maru sex female:添加一个huser2 值有2个
type huser1:查看huser1的类型
hkeys huser1:获取huse1的所有的字段
hget huser1 name:获取huser1的name字段对应的值
hmget huser name sex:获取huser1的name、sex字段对应的值
hvals huser1:获取所有字段的值
hgetall huser1 :获取所有的字段名包括值
hdel huser1 sex:删除huser1的sex字段对应的值
del huser1:删除huser1的所有字段
1.5.3list
lpush luser1 aa:从列表左侧添加luser1 值为aa
rpush luser1 bb:从列表右侧添加bb
linsert luser1 before aa 11:在aa前面插入11
linsert luser1 after aa 22:在aa后面插入11
索引从左侧开始,第一个值的索引为0,索引可以为负数,表示从尾部开始计数,-1表示最后一个值
lrange key 0 -1:返回列表0到最后一个的值
lset user1 1 china :修改user1 的第二个元算的值为China
删除列表的重复的值,count>0从头往尾删除,count<0从尾往头删除,count=0删除所有值,lrem luse1 -1 h1 从右往左删除一个h1,lrem luse1 0 h1 删除所有h1,lrem luse1 1 h1 从左往右删除1个h1
1.5.4set集合
集合中不允许有重复的值,对于集合里的值只能添加与删除,不能修改
sadd suser2 aa bb cc:集合中添加值
smembers suser2 显示集合中的值
srem suser2 bb:删除集合中的bb
1.5.5zset有序集合
每一个值都会关联一个分数,分数可以为负数,通过分数值的大小对集合中的值进行排序,集合中不允许有重复的值,对于集合里的值只能添加与删除,不能修改
zadd zuser1 1 aa 5 bb 3 cc 8 dd:添加的值会按scrore的大小排序
zrange zuser1 0 -1: 返回列表从头打尾的值
zrange zuser1 0 -1 withscores:分数和值都显示
zrangebyscore zuse1 2 6 返回score 在2-6之间的值
zscore zuser1 dd :返回值为dd的score
zrem zuser1 dd :删除
zremrangebyscore zuser1 0 10:通过score删除值
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
边栏推荐
- Data captured
- sqlmap基本使用方法
- QT:QSS自定义QToolButton实例
- 【吐槽&脑洞】关于逛B站时偶然体验的弹幕互动游戏魏蜀吴三国争霸游戏的一些思考
- Introduction to deep learning linear algebra (pytorch)
- Numpy quick start (II) -- Introduction to array (creation of array + basic operation of array)
- Unity learning notes: online game pixel Adventure 1 learning process & error correction experience
- MySQL checks for automatic updates at 0:00 every day
- Leetcode skimming ---278
- Ind kwf first week
猜你喜欢
Ind wks first week
Introduction to deep learning linear algebra (pytorch)
帶你走進雲原生數據庫界扛把子Amazon Aurora
Unity小组工程实践项目《最强外卖员》策划案&纠错文档
QT:QSS自定义 QProgressBar实例
QT:QSS自定义QTableView实例
缓存路由组件
Knowledge map reasoning -- hybrid neural network and distributed representation reasoning
.Net Core-做一个微信公众号的排队系统
深度学习入门之线性代数(PyTorch)
随机推荐
[untitled]
Ind yff first week
How to hide cvxpy warnings: warn: a- > P (column pointers) not strictly increasing, column x empty?
Ind FHL first week
Leetcode skimming ---35
Unity group engineering practice project "the strongest takeaway" planning case & error correction document
Weight decay (pytorch)
Leetcode skimming ---367
神经网络入门之预备知识(PyTorch)
Type de contenu « Application / X - www - form - urlencoded; Charset = utf - 8 'not supported
Introduction to deep learning linear algebra (pytorch)
那些一门心思研究自动化测试的人,后来怎样了?
Flink--Chain的条件源码分析
A detailed explanation of vector derivative and matrix derivative
Preliminary knowledge of Neural Network Introduction (pytorch)
QT:QSS自定义 QSlider实例
Hou Jie -- STL source code analysis notes
QT:QSS自定义QTableView实例
QT:QSS自定义 QProgressBar实例
QT:QSS自定义QLineEdit实例