redis入门

1.nosql

sql:
​ 操作 数据库(关系型的) 的标准查询语言

​ 关系型数据库:

​ 表和表之间具有相应的关系 – 目的而言 – 中小型的项目 数据量不是很大的情况下.

rdbms: mysql oracle(java) sqlServer(c…)

nosql:
​ 针对非关系型数据库的语言, 弥补关系型数据库一些缺点.主要用到大的数据量或者高并发的场景下面

2. 非关系型数据库

2.1 非关系型数据库分类

(1)key-value: redis

(2)column store: hbase

(3)文档型数据: MongoDb

(4)图形的数据库: Neo4J, InfoGrid, Infinite Graph --推荐系统

​ fastdfs – 存储图片的数据库(小型的分布式文件夹)

2.2 redis和memcache的比较

redis – 做缓存 和 memcache --做缓存

mysqlredismemcached
类型关系型非关系型非关系型
存储位置磁盘磁盘和内存内存
存储过期不支持支持支持
读写性能非常高非常高
存储的结构表来存储支持很多 list/set/array/string/map等普通键值对key-value

3. redis的使用场景

(1) 最多, 就是缓存(cache 使用空间换取时间) --redis

(2) 计数器应用 – 微博 热点新闻 – 转载 点赞(高并发)

(3) 实时防攻击系统 – 银行网站 (登录) --计数 (ip 同一个ip + 5)

​ redis–支持断电恢复 内存和磁盘

(4) 有效期的应用 – 道具 红包 优惠券 …

(5) 支持无序的场景 – set特效

(6) 队列 -->quene -->秒杀 抢购 --redis

(7) 消息系统订阅发布 -->redis(MQ消息队列–高并发 秒杀 抢购 转发 )

4.Redis的操作

直接下载安装(https://github.com/microsoftarchive/redis/releases)
4.2 基本操作
4.2.1 string

​ 对字符串操作

​ set key value

​ get key

​ mset /mget

​ incr 增加1个

​ decr 减少1次

​ incrBy key num ; 增加num个
decrBy key num ; 减少num个

4.2.2 对key的操作

keys * ; 查看所有的key

​ expire key seconds ; 对key设置过期时间

​ ttl key : 查看key 剩余时间

​ del key :删除key

​ flushall 清库 (0-15个)

​ flushdb 清当前库

​ select index ; 选择库

4.2.3 对list操作

​ lpush(rpush) key value1/value2… 往list添加值

​ lpop(rpop) key 弹出一个值

​ lrange key start stop 搜索查询 lrange students 0 -1

​ lrem key count value 移出

​ lindex key index 查看索引对应的值

​ ltrim key start stop (对集合进行修剪)

4.2.4 set操作

​ sadd key members 添加值

​ srem key member 删除值

​ smembers key 查看可以对应的值

4.2.5 hash操作

hset key name value --设置key value

​ hget key name --通过key获取值

​ hmset key name1 key1 name2 key2 --批量设置

​ hmget key name1 name2 --批量获取

​ hkeys --获取所有的key

​ hvals --获取所有的value

​ hgetall --获取所有的key和value

5.事务

multi //标记一个事务块的开始。
exec //执行所有事务块内的命令。
弱事务 : 日志
强事务 : 同生共死
discard //取消事务,放弃执行事务块内的所有命令。
Redis的事务在执行exec指令时,才批量执行操作,没有回滚操作

6.订阅/发布

SUBSCRIBE channel [channel …] //订阅给定的一个或多个频道的信息。
PUBLISH channel message //将信息 message 发送到指定的频道 channel 。
新开一个客户端订阅tv频道
在这里插入图片描述

发布nihao!消息到tv频道
在这里插入图片描述

订阅tv频道的客户端可以收到nihao!消息
在这里插入图片描述

7.设置密码

7.1.通过命令动态调整密码

CONFIG SET 命令可以动态地调整 Redis 服务器的配置而无须重启,重启后失效
CONFIG SET requirepass 123456 //将密码设置为123456
CONFIG SET requirepass “” //清除密码
AUTH 123456 //输入密码进行认证

7.2.通过配置文件设置密码

(1)在配置文件 的方式设置密码

​ redis.windows.conf --添加 requirepass 123456

(2)在启动的时候 redis-server.exe redis.windows.conf

(3)auth 123456

8.java操作Redis

连接redis服务: new Jedist(ip,host,timeout)

​ 连接池操作redis: new JedisPool(config,ip,host,timeout,password)

(1)对字符串操作

​ 和上面命令操作一样的

​ (2)list操作

​ 存储 取值

​ (3)set操作

​ 存储 取值

​ (4)hash操作

​ 存储 取值

​ (5)排序 事务 --练习

9.redis 持久化

持久(持久层 dao层 mapper层): 就把数据保存到磁盘 这个过程就叫持久化
redis支持内存和磁盘存储
redis磁盘存储提供两种方案:

rdb方式 :

​ save 1 1 最快的保存方法 1s中 发生一次变化 – 如果保存数据 1s内完成 – 数据丢失 丢失1s数据

aof方式:

​ 开启appendOnly yes
​ 在操作的时候,把数据写到日志文件,在启动的时候,恢复日志文件 -->日志方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值