Java学习笔记(二十六):redis、Jedis

写在前面:

string set、get、del
list lpush、lpop、lrange
hash hset、hget、hgetall、hdel
set sadd、smembers、srem
sortedset zadd (score)、zrange、zrem
keys * 、type key、del key

1. redis

下载

https://www.redis.net.cn/download/ 

官网下载链接下边有安装步骤和教程:cd到redis目录下,运行make进行编译;然后就可使用了

redis/src目录下:redis-server服务端、redis-cli客户端

默认端口6379

介绍:

高性能的nosql系列 非关系型数据库

常用作高缓存

 

关系型 和 非关系型:

关系型:数据之间有关联关系,存在硬盘上

非关系型:数据之间没有关联关系,存储kv键值对,存在内存(重启后数据会消失)

缓存:

从缓存中取数据,有--直接取出,没有--从数据库中取数据,放入缓存,返回数据

数据结构:

两列,kv键值对

key是字符串

value有5种类型:String、hash (map格式)、list (linkedlist格式)、set、sortedset

命令操作:

String:set k v;     get k;     del k;

list:(左边是头,先放的在末尾)  lpush k v;     lpop k;     lrange k start end; (全部: 0 -1)   ---对应还有rpush, rpop, rrange

hash:hset k field v;     hget k field;     hgatall k;     hdel k field;

set:sadd k; (没有重复, 添加相同k会覆盖)     smembers k; (取值: 全部)      srem k v;

sortedset:zadd k score v; (score用来给k排序)      zrange k start end [withscore];     zrem k v;

通用命令:keys *; (所有key)      type key; (对应v的类型)       del key; (删除)

持久化机制:

RBD:默认;在一定的间隔时间中,检测key的变化情况,然后持久化数据

AOF:日志记录方式,记录每一条命令的操作,可在每次操作后持久化数据

redis持久化:

编辑配置文件redis.??.conf,启动时指定配置文件名称

RBD:save 900 1   900秒后,至少一个key改变,持久化一次

-----redis-server.exe redis.windows.conf

-----持久化在rdb文件中

AOF:appendonly no    改为yes

-----appendfsync:always 每次操作都持久化;everysec 每秒;no 不持久化

-----持久化在conf文件中

 

2. Jedis

Java操作redis的工具(类似JDBC)

使用:

导jar包:jedis-2.7.0.jar、commons-pool2-2.3.jar

setex(k,秒,v) :指定保存时间

        Jedis jedis=new Jedis();//空参默认:localhost, 6379

        jedis.set("str","abc");
        System.out.println(jedis.get("str"));

        jedis.close();

连接池 JedisPool

new JedisPool() 可传参:conf,ip,port

        JedisPool jedisPool=new JedisPool();
        Jedis jedis=jedisPool.getResource();

配置信息:JedisPoolConfig conf=new JedisPoolConfig()

----------conf.setMaxTotal(10); 最大链接数

----------conf.setMaxIdle(10);最大空闲连接

----------更多配置信息可写到一个配置文件,然后写个jedispool的工具类,类读取配置文件

发布了97 篇原创文章 · 获赞 52 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/poppy_rain/article/details/98618684