目录
Redis概述
-
redis是什么?
Redis高性能的,开源C语言开发的,以键值对存储数据的No sql数据库
- No SQL : 非关系型数据库
- 数据都是K-V形式
-
为啥学习redis?
爬虫:数据存储
Web:
- 文本:csv,excel ,txt ,json
- 数据:MongoDB
- 分布式爬虫
- 专业深入学习
-
redis特点?
- 支持数据持久化,可以将内存中数据保存磁盘上
- list set zset hash数据结构的存储
- 支持数据备份
- 速度快
-
应用场景
- 用来做缓存
- 社交类应用
- 在大型系统,实现一些特定的功能:session共享,购物车
安装
- 下载压缩包(尽量不用安装最新版本)
- 解压指定盘符下 例如:D:redis
- 配置环境变量path (可选)
- 启动服务 redis-server
- 链接客户端 redis-cli
数据结构
-
redis 是key-value数据结构 每条数据都是一个键值对
-
键的类型是字符串
-
注意:键不能重复
-
值的类型:
- 字符串string
- 哈希hash
- 列表list
- 集合set
- 有序集合zset
string
- 字符串类型的value最多可以容纳的数据长度是512M
保存
设置键值
set key value
例如:设置一个键为name,value为mark的数据
set name mark
设置键值过期时间
setex key seconds value
设置key :aa,value:1 过期时间10秒
setex aa 10 1
设置多个键值对
mset key value [key value ...]
mset a1 1 a2 2 a3 3
追加值
APPEND key value
append a1 a
获取
获取:根据键获取值,如果不存在则返回nil
get key
获取:根据多个键获取多个值
mget key1 key2 ...
查询
查找键 参数支持正则表达式
key pattern
查看所有键
keys *
判断键是否存在 存在为1 不存在为0
exists key1
查看键对应值的类型
type key
查看有效时间
ttl key
删除
删除键以及对应值 返回的1 表示删除成功 0 删除不成功
del key [key ...]
设置过期时间
expire key seconds
其他命令
incr key: 将key存储的数字增1
decr key: 将key存储的数字减1
incrby key increment:在key存储的值再加给定量
decrby key increment:在key存储的值再减给定量
getrange key start end : 将键对应值 截取
setrange key offset value: 在值offset位置覆盖数据
list
- 列表的元素类型 string
- 按照插入顺序排序
保存
lpush key value [value ...]
rpush key value [value ...]
在指定元素的前或后插入新的元素
linsert key BEFORE|AFTER pivot value
查找
lrange key start stop
修改
lset key index value
删除
lrem key count value