windows 启动临时服务 ,切换到安装目录java
redis-server.exe redis.windows.confmysql
1.redis 启动,在哪一个文件夹下启动 dump.rdb就会保存到哪一个文件下 建议每次启动都从一个文件夹redis
ctrl+c退出sql
2.精灵进程(守护进程)是为其余进程提供服务的,都是通知操做系统启动的进程数据库
启动精灵进程windows
/user/local/redis-server redis.conf服务器
redis.confapp
requirepass 设置密码ui
auth "密码"spa
3.默认端口6379
字符串类型
value 数据是一个字符串,底层保存的都是二进制数据,能够是 图片,音频,视频,最大 512M
哈希类型
value 数据是一个哈希表,相似java的MAP 最大也是512M
链表类型
value 是一个单向的链表,能够保存重复的数据
排序链表类型
是一个可排序的链表,使用字符串顺序升序排列
不能保存重复数据,相似java中的SET
helo set 查看set命令的帮助
新增
set key value
经常使用习惯
mset user::name "张三" user::age 20 用::表明级别
getset a 4
append a "1212" 在key为a的值后追加
成功返回OK
若是value中有空格 要用双引号不然可不用 set name "zhang san"
查询
get key 若是key中有空格,须要用双引号
获取不到将返回nil
删除
del key
删除多个 del key1 key2 key3
若是key中有空格 要用双引号
批量新增
mset key value key value 必须成偶数 有key 有value
批量查询
mget key key key
数字的自增
incr key 将key对应的value 自增1并返回,若是key 不存在 则保持value 为1 并返回
数字的自减
decr key
decrby key num
查看key 命令
keys 关键字 支持通配符
keys n*
设置数据的有效时长 到期自动删除
expire key seconds 秒
负数和0 马上删除
查看数据的有效时长
ttl key 返回有效时长,单位是秒
-1 数据永久保存
-2 数据不存在
删除数据的有效时长
persist key
哈希数据访问
新增
hset key field value
hset stu name "zhangsan"
hset stu age 20
查询
hget key field
批量新增
hmset key field1 value1 field2 value2
批量查询
hmget key field1 field2 field3
查看一个key 中的全部field
hkeys key
查看一个key 中全部value
hvals key 将key 对应的哈希数据中的全部value显示
查看一个key 中全部的field-value对
hgetall key
不能为某一个field-value 对设置有效期,有效期都是针对 key设置和操做的
删除field-value对
hdel keys field1 field2
切换数据库
在redis 的配置文件中,能够定义数据库数量,相似mysql 中的database
redis 中的数据库没有命名,只有编号,从0开始计数,redis 中的默认数据库数量为16
编号0---15
select num 切换数据库到num 编号
清除数据库
flushdb 清除当前使用的数据库数据
flushall 清除全部数据库
查看服务信息
info
jedis 客户端
是redis 应用提供的java 访问客户端 第三方jar 操做redis
redis 持久化
RDB
在服务器端建立RDB的三种条件
1.服务器执行客户端发送的SAVE命令 会阻塞 通常空闲时能够
2.BGSAVE 不会阻塞
save 300 10 距离上次保存300秒后 超过10修改 就自动BGSAVE
save 1000 100
多个时 只有任意一个知足就执行
3.自动 在配置文件中定时 BGSAVE
AOF
append only file
自动重写条件
auto-aof-rewrite-percentage 100 (100%当达到一倍时重写,要不永远卡到64mb)
auto-aof-rewrite-min-size 64mb 最小64mb时重写
三种策略
Always :服务器每写入一个命令 ,就把缓冲区里的数据同步到硬盘上,不丢失数据,浪费CPU
Everysec: 每秒调用一次,最多丢1秒
No: 不去调用同步
默认Everysec