1.概念: redis是一款高性能的NOSQL系列的非关系型数据库
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行 100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下 的存储需求,目前为止Redis支持的键值数据类型如下: 1) 字符串类型 string 2) 哈希类型 hash 3) 列表类型 list 4) 集合类型 set 5) 有序集合类型 sortedset 1.3.1 redis的应用场景 • 缓存(数据查询、短连接、新闻内容、商品内容等等) • 聊天室的在线好友列表 • 任务队列。(秒杀、抢购、12306等等) • 应用排行榜 • 网站访问统计 • 数据过期处理(可以精确到毫秒 • 分布式集群架构中的session分离
2. 下载安装
-
官网:https://redis.io 2. 中文网:http://www.redis.net.cn/
-
解压直接可以使用: * redis.windows.conf:配置文件 * redis-cli.exe:redis的客户端 * redis-server.exe:redis服务器端
启动的一些问题:客户端若拒绝连接,或者是服务端启动失败
提示:QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAllocEx failed.: unknown error 。原因是内存分配的问题(如果你的电脑够强悍,可能不会出问题)。解决方法有两个,第一:启动的时候使用–maxmemory 命令限制Redis的内存:
redis-server redis.windows.conf --maxmemory 200m
第二种方法就是修改配置文件redis.windows.conf :
maxmemory 209715200
之后再运行redis-server redis.windows.conf 就可以启动了 -
命令操作
1.redis的数据结构:
*redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构
*value的数据结构:
1)字符串类型string2)
哈希类型hash:map格式
3)列表类型list:linkedlist格式。支持重复元素
4)集合类型set:不允许重复元素
5)有序集合类型sortedset:不允许重复元素,且元素有顺序
2.字符串类型string
1.存储:set key value
2.获取:get key
3.删除:del key
3.哈希类型hash
1.存储:hset key field value hsetmyhashusernamelisi
2.获取:
*hget key field:获取指定的field对应的值 hget myhash username “lisi”
*hget all key:获取所有的field和value
3.删除:hdel key field
4.列表类型list:可以添加一个元素到列表的头部(左边)或者尾部(右边)
1.添加:1.lpush key value:将元素加入列表左表
2.rpush key value:将元素加入列表右边
2.获取:
*lrange key start end:范围获取 lrange myList 0-1
3.删除:
*lpop key:删除列表最左边的元素,并将元素返回
rpop key:删除列表最右边的元素,并将元素返回
5.集合类型set:不允许重复元素
1.存储:saddkeyvalue
2.获取:smembers key:获取set集合中所有元素
3.删除:srem key value:删除set集合中的某个元素
6.有序集合类型sortedset:不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
1.存储:zaddkeyscorevalue
2.获取:zrange key start end [withscores] zrangemysort0-1
3.删除:zrem key value
7.通用命令
1.keys:查询所有的键2.typekey:获取键对应的value的类型3.delkey:删除指定的keyvalue
4.持久化
1.redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。
2.redis持久化机制:
1.RDB:默认方式,不需要进行配置,默认就使用这种机制
*在一定的间隔时间中,检测key的变化情况,然后持久化数据
1.编辑redis.windwos.conf文件
after 900 sec (15 min) if at least 1 key changed
在15分种内,有一个key改变了,
after 300 sec (5 min) if at least 10 keys changed
after 60 sec if at least 10000 keys changed
save 900 1
save 300 10
save 60 10000