Redis
非关系型数据库,不需要使用sql语句对数据库进行操作,而是使用命令进行操作,在数据库存储时使用键值对进行存储,应用场景广泛,一般存储访问频率较高的数据。
一般关系型数据库(使用sql语句进行操作的数据库)和非关系型数据库可以一起配合使用。在Redis中,键必须是String类型,而值可以为其他类型
Linux系统下可以直接下载正常解压安装,Winodws需要去github上找对应的压缩包,解压后即可使用
简单启动命令
#启动服务端
redis-server
#启动客户端
redis-cli
#测试服务端和客户端连接是否有误
ping
# 删除所有keys
flushall
Redis中的数据类型和基本使用命令
String类型和基本命令
在Redis中,类似像1,2,3,4…这样的数字都会被视为字符串
# key -> string value -> string
# 设置键值对
set key value
# 获取键中的值
get key
# 设置多对键值对
mset key1 value1 key2 value2...
# 获取多对键中的值
mget key1 key2...
# 往键对应的字符串追加值
append key value
# 获取value字符串的长度
strlen key
# 将对应key中的value 中的字符串值+1 仅限于改字符串为数字
incr key
# 将对应key中的value 中的字符串值-1 仅限于改字符串为数字
decr key
# 将对应key中的value 中的字符串值增加某个值 仅限于改字符串为数字
incrby key [需要修改的值]
# 将对应key中的value 中的字符串值减少某个值 仅限于改字符串为数字
decrby key [需要修改的值]
若想插入的字符串为hello world,则需要在set时加上双引号,否则Redis会将hello和world分成两个字符串来处理
set str "hello world"
List类型
value -> string
key -> list
# 将一个或多个元素插到表头
lpush key value[value...]
# 将一个或多个元素插到表尾
rpush key balue[value...]
# 删除表头元素
lpop key
# 删除表尾元素
rpop key
# 遍历列表
lrange start end #0为表头 -1为表尾
# 得到下标对应位置的字符串
lindex key index
# 获取列表长度
llen key
# 删除元素
lrem key count value
count >0 从表头开始向表尾搜索,移除与value相等的元素,数量为count
count <0 从表尾开始向表头搜索,移除与value相等的元素,数量为count
count =0 移除列表中与value相等的所以元素
lpushx与lpush不同在于,lpushx只会对已经存在的列表进行插入操作,rpushx同理
Set类型
无序集合类型
key -> string
value -> set("stirng","string1")
# 添加元素
# 将一个或者多个元素插入到一个集合中
sadd key value [value...]
# 遍历集合
smembers key
# 差集(谁在前面谁是减数,谁在后面谁是被减数)
sdiff key [key...]
# 交集
sinter key [key...]
# 并集
sunion key [key...]
# 删除一个或元素
srem key value[value...]
# 随机删除一个元素
spop key
sdiffstore与sdiff不同的地方在于,sdiffstore会将结果存放到一个新的集合中