NoSQL: Not Only SQL 不仅仅是SQL
NoSQL:是一种概念,是数据库应用的设计理念,解决关系型数据库的瓶颈。
NoSQL特点:容易扩展、高速读写/IO、高性能、高并发、海量数据存储。
NoSQL产品:redis, mongo, hbase等
redis是一个内存型的nosql数据库,是采用c++语言开发的,实现了高可用、高IO的内存数据库。数据存储结构使用了Hash的key-value键值对存储方式,为使用者提供了丰富的数据类型(string字符串、hash哈希、list列表、set 集合和zset有序集合)
在官网下载redis的zip包,解压redis.zip文件,建议放在D/E盘目录下,然后把存放redis-server.exe文件所在目录路径复制到环境变量的Path中。
新打开一个cmd窗口,输入redis-server,正常执行的情况下,会运行redis服务。
redis网络服务的默认端口为6379。
再新打开一个cmd窗口,输入redis-cli命令,进入redis命令交互环境中。
如何安装永久性的redis服务:
1)关闭临时启动的redis服务
(redis-server命令启动窗口要关闭)
2)执行redis-server
–service-install d:/softs/redis/redis.windows.conf --loglevel verbose命令
在弹出的Redis 2窗口中选择"是"按钮。
3)执行redis-server --service-start 启动redis的后台服务
如果不用redis服务时,可以执行redis-server --service-stop关闭redis后台服务
这样就可以使用redis了。
首先,选择数据库,redis默认提供了16个数据库,数据库的编号从0开始到15。默认是0数据库
使用命令 select 数据库编号
如:切换到9号库
select 9
常用命令:
查看所有key
命令:keys *
添加key
命令:
set key value
说明: key是键名, value是键对应的值
注意:如果key已存在,则使用新的value替换原value。
如1:添加name键,其值为liubei
set name liubei
如2:添加age键,其值为20
set age 20
如3:修改name的值为lucy
set name lucy
获取key
命令:
get key
如1:获取name的值
get name
如2:获取age的值
get age
删除key
命令:
del key
如:删除age键
del age
设置key过期时间
命令:
expire key seconds
如:设置name的10秒后过期
expire name 10
其它命令
ttl key 查看key的有效存活时间rename oldkey newkey 将原key重命令名为新keymove key dbindex 将key移动指定的数据库下dbsize 查看当前库下的key数量flushdb 清空当前库下的keyflushall 清空所有库下的key
如1:查看name的有效时长(单位是秒)
ttl name
如2:重命名name为sname
rename name sname
如3:将sname移动到2号库
move sname 2
string字符串命令
以上操作默认都是string字符串命令,除此之外,还有一些特定的命令
getset命令
格式:
getset key value
返回key的值,并设置新的value值
如:
getset name lucy
返回name的值,同时设置新值为lucy,如果name不存在,则返回nil
mget命令
获取多个key的value
格式:
mget key key …
如:获取name,age,sex等key的值
mget name age sex
setnx命令
设置不存在key的值,如果存在key时,不做任何事
格式:
setnx key value
如:设置新的name2的值为killer
setnx name2 killer
mset命令
同时设置多个key的值
格式:
mset key value key value …
如:同时设置name,age,sex的值为killer,21,F
mset name killer age 21 sex F
setex命令
修改key的值,并同时设置过期时间
格式:
setex key timeout value
如:设置name值为killer888,同时设置过期时间为5秒
setex name 5 killer888
msetnx命令
批量初始化多个key的值
【要求】所有的key不能存在,若有一个已存在的key,则命令无效。
如1:批量初始化city、phone键值为shanghai, 17791699999
msetnx city shanghai phone 17791699999
如2:初始化name和phone键,则会失败
msetnx name killer phone 110
name和phone是已存在的key。
2.4.7 incr和decr命令
提供了自增与自减1的命令 【重点】
格式:
incr key 为key自增1,如果key是新的,则初始为1incrby key number 自增指定的number数值decr key 自减1decrby key number 自减指定的number数值
如:
incr m220299incr m220299incrby m220299 10decr m220299decr m220299decrby m220299 2
append和substr命令
append是向key的value末尾追加新的内容
substr是从key的value值中截取子字符串
格式:
append key newvalue 将newvalue追加到key的value中substr key start end 从start位置开始到end位置结束,截取内容,第一个字符的位置是0
如1: 将,killer追加到name键值上
append name ,killer
其中,killer是追加的新内容
如2:从name的value中截取前4个字符
substr name 0 3
本文只简单介绍了一下redis的安装及字符串的基本操作,如果感兴趣的小伙伴可以留言哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!