redis(笔记)
./redis-cli -a root 带密码链接 root 为我的密码
del key 删除key
keys * 查询 所有key
exist key key是否存在 成功返回1 失败Wie0
set k vale 设置键值对
setnx k v 不存在则加入 分布式锁
getrange k start end 截取字符串
ttl key 查询key的过期时间返回 -1 为永久(默认永久)
incrby keyname 增量值 key中村的数字加上指定的增量值(原子性)
dece kename 减值 不写增减值默认为1
expire key seconds 设置key过期时间 后面单位为秒 此时ttl key 返回到期时间
pexpire expire key milliseconds 时间为毫秒 同上
persist key 把KEY设置为永久
? 通配符
例如 有 user:1 user:2 user:3 先要都查出 可以用 keys user:?
rename key newkey 修改key名称
move key db 把key移到指定的数据库中(貌似有十几个)
type key 得到key类型
--------------------------------------应用场景----------------
1 限时优惠
2 网站数据缓存
3 手机验证码(验证码过期时间)
4 限制网站访客评率
---------------------
key 命名规范 不要太长不要太短
格式 user:123:password 一般用: sql 用_ 比较多
key 名称区分大小写
---------------------------------------
数据类型
hash 类似javabean user(id,name) 类似关系型数据库
例如 hset 表名 id idvalue 只能存一个
hmset 设置多个数据
hmget id name
hgetall key 得到集合
hdel key 要删除的子属性
-----------------------------------
redistemplate
需要redis。client 和 spring-data.redis包(这个是jpa吗)
list 类型
很重要的语法RpopLpush 一处最后一个元素 把最后一个元素添加到另一个列表
通常要实现队列功能
可以实现留言 粉丝 分页 热点新闻 关注列表等等
------------------------------------
set
sadd key member1(多个成员也ok)
smember key 查询set集合 无序存储
sismember key member 判断member是否存在集合中 可用于是否注册
srandmember key[count] 返回集合中的多个随机数
srem key member 删除hash元素
计算并交叉 共同关注共同洗好 统计IP
ZSET 不重复有序
用于排行榜
-------------
Redis 发布订阅
subscribe key 关注频道
publish key message 发布消息
即时聊天群聊功能 微信公众号
------多数据库管理-------------
select 数据库
move key 名称 数据库
flushdb 清楚数据库key
flushall 清楚所有数据库key
-----事物----------
watch 和unwatch
用于商品秒杀 一组命令要不都被执行要不都不执行 中间不被打断
-----数据淘汰策略
持久化---
RDB
和aof 持久化 数据不会丢失占用硬盘
---------------数据库缓存和数据库保存一致 修改后怎么保持一致
实时同步:
更新缓存是先更新数据库再把缓存设置过期(建议不要个您缓存而是设置过期如果删除 可能导致雪崩多个人同时访问数据库--他就会直接查数据库)
缓存雪崩
缓存穿透
@Cacheable 查询使用 Long需要转string
@CachePut 更新使用
@CacheEvict删除使用
@Caching 组合使用
--异步队列
用kafka消息中间件
3 主从复制使 用阿里canal
{"userEmail":"12345678", "userName": "wei.hu "}
redis(笔记)的更多相关文章
- 【Redis笔记(四)】 Redis数据结构 - list链表
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...
- redis笔记之一
NoSQL简介 全称是Not Only SQL,泛指菲关系型数据库,它是通过键值对存储数据并且将数据存储在内存中.而像mysql,sql server这些通过关系表存数据的就叫关系型数据库 为什么需要 ...
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- redis笔记总结之redis介绍
一.Redis介绍: redis的发展历史简单的理解为因为使用类似MySql这类关系型数据库不方便进而开发的开源的.轻量级的.非关系型的,直到现在一直不断完善的一款NoSql数据库.具体的介绍大家可以 ...
- Redis笔记(1)数据结构与对象
1.前言 此系列博客记录redis设计与实现一书的笔记,提取书本中的知识点,省略相关说明,方便查阅. 2.基本数据结构 2.1 简单动态字符串SDS(simple dynamic string) 结构 ...
- 2020ubuntu1804server编译安装redis笔记(一)及报make test错误解决办法
redis的大名我想大家都不陌生,今天在ubuntu server上进行编译安装,虽然apt也可以安装,但作为内存数据库,redis又是c开发的,编译安装,对机器的适应和性能更好. 安装笔记如下 第1 ...
- 2020ubuntu1804server编译安装redis笔记(三)启动服务和使用redis
第一篇笔记记录了ubuntu1804server编译安装redis5,接下来要配置redis5了 网址:https://www.cnblogs.com/qumogu/p/12435694.html 第 ...
- redis笔记补充
redis补充 这篇文章是redis入门笔记的补充. 1.info命令 用来显示服务的信息. info命令可以跟下面的选项: server: 关于 Redis 服务器的一些信息 clients: 客户 ...
- redis笔记
redis字符串 : 存储基本的一个键值对. redis哈希 : Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型. 一个哈希表可以存在多个键值对,可对键值进行增删 ...
- Redis笔记,安装和常用命令
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/96.html?1455870708 一.redis简单介绍 redis是N ...
随机推荐
- 【兆易创新RISC-V开发板评测】01.干货分享
背景介绍:2019年12月19日在面板包偶然发可以免费申请测评GD32VF103开发板,欣喜万分:在这之前各大技术论坛说是已经有国产兆易创新的RISCV指令集的MCU发布的事情,一时间摩拳擦掌想购入一 ...
- leetcode菜鸡斗智斗勇系列(10)--- Decrypt String from Alphabet to Integer Mapping
1.原题: https://leetcode.com/problems/decrypt-string-from-alphabet-to-integer-mapping/submissions/ Giv ...
- spring 参数校验
1.了解下资源文件加载 MessageSource 需要国际化处理时使用这个类 (在需要处理国际化的地方使用messageSource.getMessage(this.getResponseCod ...
- 关于转入软件工程专业后第二次java课上作业的某些体会
今天是第二周的java课. 自从转入了软件工程专业后,在我没有学习c++的基础上,直接开始了学习java的过程.不得不说过程很艰辛.今天下午老师让编写一个随机产生作业的软件.而我的基础差到都不知道如何 ...
- nm
nm是names的缩写,功能是列出目标文件的符号清单,常用来查看动态链接库中的函数. nm选项 -a 按照man手册,仅列出调试信息,实际上却是调试信息+正常信息 -A 增加一列显示目标文件, ...
- 【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件
原文:https://blog.csdn.net/qq_36622490/article/details/100773589 这个需求主要是我在jenkins中pipeline的代码里,需要使用she ...
- 关于cctype头⽂件⾥的⼀些函数
本文摘录柳神笔记: 刚刚在头⽂件那⼀段中也提到, #include 本质上来源于C语⾔标准函数库中的头⽂件 #include ,其实并不属于C++新特性的范畴,在刷PAT⼀些字符串逻辑题的时候也经常⽤ ...
- JavaScript中关于隐式转换的一些总结
JavaScript运算符中的隐式转换规律:一.递增递减运算符(前置.后置)1.如果包含的是有效数字字符串或者是有效浮点数字符串,则会将字符串转换(Number())为数值,再进行加减操作,返回值的类 ...
- php 算法知识 冒泡排序
function bubble_order($arr){ //得到长度 $count_num=count($arr); for($k=1;$k<$count_num;$k++){ //对长度越来 ...
- gitlab的搭建与使用(一)
yum install curl policycoreutils openssh-server openssh-clients postfix -y systemctl enable sshd sys ...