当前位置:网站首页>软件测试——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自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
边栏推荐
- QT:QSS自定义 QStatusBar实例
- Set ArrayList nested map set loop traversal
- Binary search method
- Unity学习笔记:联网游戏Pixel Adventure 1学习过程&纠错心得
- Type de contenu « Application / X - www - form - urlencoded; Charset = utf - 8 'not supported
- QT:QSS自定义QLineEdit实例
- Ut2014 supplementary learning notes
- Ut2017 learning notes
- 如何在游戏中制作一个血条
- Leetcode skimming ---202
猜你喜欢
Linear regression of introduction to deep learning (pytorch)
Model selection for neural network introduction (pytorch)
Pour vous amener dans le monde des bases de données natives du cloud
Introduction to deep learning linear algebra (pytorch)
Pytoch has been installed, but vs code still displays no module named 'torch‘
7、 Data definition language of MySQL (2)
STM32F1与STM32CubeIDE编程实例-TM1637驱动4位7段数码管
2021-09-22
DAY 7 小练习
Ind wks first week
随机推荐
【吐槽&脑洞】关于逛B站时偶然体验的弹幕互动游戏魏蜀吴三国争霸游戏的一些思考
QT:QSS自定义QLineEdit实例
Leetcode skimming ---44
Ind FXL first week
Bidding website architecture project progress -- Network Security
Numpy quick start (I) -- pre knowledge (create array + constant + data type)
Leetcode skimming ---278
Leetcode skimming ---283
QT:QSS自定义 QSplitter实例
CSDN, I'm coming!
QT:QSS自定义QToolBar和QToolBox实例
QT:QSS自定义 QSpinBox实例
sqlmap基本使用方法
软件测试必学基本理论知识——APP测试
QT:QSS自定义 QTabWidget 和 QTabBar实例
Pour vous amener dans le monde des bases de données natives du cloud
那些一门心思研究自动化测试的人,后来怎样了?
.Net Core-做一个微信公众号的排队系统
Binary search method
Numpy realizes the classification of iris by perceptron