1. Redis
https://github.com/microsoftarchive/redis
https://redis.io/
ANSI-C语言编写的一个 key-value 存储系统,非关系型数据库
数据之前没有关联关系,数据存储在内存中
读写速度快
所有操作都是原子性的,支持事务
1.1 安装配置:
下载解压即可
(1)windows服务方式运行
在redis目录下执行:
redis-server --service-install redis.windows-service.conf --loglevel verbose //安装服务 redis-server --service-uninstall //卸载服务
在windows的服务页面中受手动启动或cmd启动:
redis-server.exe --service-start --service-name redis
(2)CMD启动,CMD关闭后,redis就关闭
redis-server redis.windows.conf
1.2 设置密码
redis.windows-service.conf 和 redis.windows.conf 文件
加上: requirepass 密码
1.3 连接redis
在redis服务已经启动的前提下,另开一个CMD
redis-cli.exe -h localhost -p 6379
1.4 windows下的使用
直接运行 redis-server.exe启动服务器,运行redis-cli.exe启动客户端,然后在客户端操作即可
2. 数据类型
键都是字符串,值可为如下五种:
2.1 字符串string
string可以包含任意二进制数据(如图片、序列化的对象)
存储:set key value
获取:get key
删除:del key
2.2 哈希hash
即值是键值对
存储:hset key fileld1 value1 field2 value2
获取:
获取指定字段的值:hget key field1
获取所有字段和值:hgetall key
删除:hdel key field1
2.3 列表 list
按插入顺序排序(链表),可插入元素到列表头部或尾部
存储:
头部插入:lpush key value
尾部插入:rpush key value
获取:
获取弹出第一个:lpop key
获取弹出最后一个:rpop key
获取范围内:lrange key start end
列表长度:llen key
设置值:lset key index value
2.4 集合 set
无序、不重复集合
存储:
添加一个:sadd key value
获取:
获取所有:smembers key
删除:
删除一个:srem key value1
2.5 有序集合 zset
有序、不重复集合
基于哈希表。有序(每个元素关联一个double类型的数,通过这个数排序,这个数可以重复)
存储:
添加元素:zadd key score1 value1 score2 value2
获取:
获取范围:zrange key start end
删除:
删除一个:zrem key value1
----
其它命令:
查看所有键:key *
查看该键的值的类型:type key
删除指定的键:del key
3. 事务
4. 持久化
4.1 rdb:默认方式
在一定时间间隔中,检测到key的变化,然后持久化数据
(1)redis.windows.conf(通过此加载此配置文件启动服务器)
save 900 1 #900s后至少有一个key变化,就持久化数据
save 300 10 #300s后至少有10个key变化,就持久化数据
save 60 10000 #60s后至少有10000个key变化,就持久化数据
自动持久化尾dump.rdb文件,在服务器再次启动后,会自动还原数据
4.2 aof
日志记录的方式,记录每一条命令的操作,可在每一次命令操作后持久化数据
(1)redis.windows.conf
设置为no,默认不开启aof方式,改成 yes 即开启aof持久化
持久化方式:
appendfsync always:每次操作都持久化
appendfsync everysec:每隔一秒持久化一次
appendfsync no :不进行持久化