redis

redis下载(windows5.0.10):https://github.com/tporadowski/redis/releases

redis能干嘛
1.内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)
2.效率高,可以用于高速缓存
3.发布订阅系统
4.地图信息分析
5.定时器、计时器(浏览量!incr decre就可以,不需要从数据库中取数据)

redis特性:
1、多样的数据类型
2、持久化
3、集群
4、事务

redis为什么单线程还这么快?
redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的。因为多线程CPU会上下文切换,这是一个耗时的操作!!!对于内存系统来说,如果没有上下文切换,效率就是最高的。多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案。

redis 默认有16个数据库,从零开始,初始默认使用零号数据库。
redis 默认端口:6379

基本命令

select dbID (0-15):切换数据库
dbsize:查看当前数据库的key的数量
flushdb:清空当前数据库
flushall;清空全部数据库

keys *:查看所有key;
exists key:判断某个key是否存在;
move key dbID(0-15): 将键值对移到其他数据库
expire key  seconds: 为给定的key设置过期时间
ttl key: 查看还有多少秒过期,-1表示永不过期,-2表示已过期
type key: 查看key是什么类型

String类型

append key "hello":追加字符串,如果key不存在,就相当于setkey
strlen key: 获取字符串长度
incr key:自增1
decr key:自减1
INCRBY key 10:自增10
DECRBY key 10:自减10
getrange key start end:获取指定区间范围内的值,类似between and的关系;从零到负一表示全部
setrange key start xxx:替换start位置开始的字符串

setex key second "hello":设置过期时间
setnx key second "hello":不存在则设置(在分布式锁中会常常使用)

mset k1 v1 k2 v2 k3 v3:同时设置多个值(原子性操作,一起成功,一起失败)
mget k1 k2 k3:同时获取多个值

set user:1{name:zhangsan,age:3}  //设置对象

mset user:1:name zhangsan user:1:age 2  //另一种设置对象方式
mget user:1:name user:1:age

getset key "hello":如果存在值,获取原来的值,并设置新的值

SpringBoot 集成 redis

1.先写配置文件
2.测试

@Autowired
    private RedisTemplate redisTemplate;

@Test
    void contextLoads() {

        // redisTemplate 操作不同的数据类型,api和我们的指令是一样的
        // opsForValue 操作字符串 类似String
        // opsForList 操作List 类似List
        // opsForHah

        // 除了基本的操作,我们常用的方法都可以直接通过redisTemplate操作,比如事务和基本的CRUD

        // 获取连接对象
        //RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();
        //connection.flushDb();
        //connection.flushAll();

        redisTemplate.opsForValue().set("key","hello");
        System.out.println(redisTemplate.opsForValue().get("key"));
    }  


redis持久化

redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,一旦服务器进程退出,服务器中的数据库状态也会消失,所以redis提供了持久化功能。

RDB:
AOF:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值