redis数据库简单介绍
redid是由C语言开发的,是非关系型数据库,数据结构是以键值对的形式存储 key-vlaue,没有sql语句,有库没有表,默认有16个库(0-15),主要是基于内存的方式存储数据,并提供持久化功能,查询速到没有mysql数据库快。
下载/学习网址:redis.net.cn
配置文件:redis.windows.conf
redis数据结构类型
数据存储形式为:key value 键值对
键:string
值:string,hash,list,set(无序集合),sortedset(有序集合)
hash:{name:{name:anan}}
set:key value
sortedset key 数字序号 value
(nil)表示为空
string类型:
添加/存储数据:set key value
例如:
set age 23 (重复设置数据会覆盖)
查询数据:get key
例如:
get age
查询结果:"23"
删除数据:del key
例如:
del age
hash类型:
添加数据:hset key key value
例如:
hset myhash username lisi
hset myhash password 123
查询数据:hget key key
例如:
hget myhash username
查询结果:"lisi"
查询所有的键值:hgetall key
例如:
hgetall myhash
删除数据:hdel key key [key...]
例如:
hdel myhash password
删除多个:
hdel myhash password username
list类型:
向左添加数据:lpush key value
例如:
lpush mylist a
向右添加数据:
rpush key value
例如:
rpush mylist c
向左查询:lrange key value
例如:
lrange mylist 0 -1 (0 -1是索引,0表示第一个,-1表示最后一个,0 -1表示从第一个到最后一个)
从左删除:lpop key
例如:
lpop mylist(删除左边第一个元素)
向右删除:rpop key
例如:
rpop mylist(删除右边第一个元素)
删除了什么元素就会打印什么元素
(上图是list类型的数据插入原理)
set类型(无序不重复集合):
添加数据:sadd key value[value...]
例如:
sadd myset a b c d
删除数据:srem myset a b c d
例如:
srem myset a b c d
查看数据:smembers key
例如:
smembers myset
sortedset(有序不重复集合,升序):
添加数据:zadd key key(序号/数字) value[value...]
例如:
zadd mysort 100 a
[排序方式,按照key(序号/数字)从小到大排序]
查看数据:zrange key 开始索引 结束索引
例如:
zrange mysort 0 -1
查看完整数据:zrange key 开始索引 结束索引 WITHSCORES
例如:
zrange mysort 0 -1 WITHSCORES
修改数据:zadd key key(序号/数字)
例如:
zadd mysort 200
通用命令:
查询所有键:keys *
例如:
keys *
查看键的类型:type key
例如:
type myset
删除键:del key:
例如:
del myset
数据持久化:
数据持久化文件:dump.rdb
1.RED 默认方式,不需要配置,默认就使用这种机制
默认触发机制:
在15分钟之后有一个key被改变了,就有一次持久化
在五分钟内修改10次key就会持久化
在一分钟内修改一万次key就会持久化
修改持久化配置:在redis.windows.conf文件中的194行到196行,修改数值
2.AOF 日志记录的方式,记录每一条命令
与python的交互
下载第三方包:
pip install redis
导包:
from redis import *
代码实现:
from redis import *
if __name__ == '__main__':
try:
# 创建Redis连接
sr = StrictRedis()
# 存储
# result = sr.set('name', '维子')
# 查询
# result = sr.get('name')
# 删除
# result = sr.delete('name')
# 获取所有的键
result = sr.keys()
# 打印返回结果
print(result)
except Exception as e:
print(e)