redis基本使用

redis 基础知识

基本特点

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。

基本数据类型

string

基本操作 :
set :设值
get :获取值

127.0.0.1:6379> set name jr
OK
127.0.0.1:6379> get name
"jr"
127.0.0.1:6379>

list

基本操作 :
lpush:设值
lrange: 获取值

127.0.0.1:6379> lpush ages 1
(integer) 1
127.0.0.1:6379> lpush ages 2
(integer) 2
127.0.0.1:6379> lpush ages 3
(integer) 3
127.0.0.1:6379> lrange ages 0 2
1) "3"
2) "2"
3) "1"
127.0.0.1:6379> 

显示顺序插入的倒叙

hash

基本操作 :
hmset:设值
hget: 获取值

127.0.0.1:6379> hmset runnoob name "jt" age 23 sex "name"
OK
127.0.0.1:6379> hget runnoob name
"jt"
127.0.0.1:6379>

set

基本操作 :
sadd :设值
smembers : 获取值

127.0.0.1:6379> sadd keys car
(integer) 1
127.0.0.1:6379> sadd keys  bus
(integer) 1
127.0.0.1:6379> sadd keys  airplay
(integer) 1
127.0.0.1:6379> smembers keys
1) "bus"
2) "airplay"
3) "car"
127.0.0.1:6379>

这个时无序的

zset

基本操作 :
zadd :设值
zrange : 获取值

127.0.0.1:6379> zadd maker  2 import
(integer) 1
127.0.0.1:6379> zadd maker  1 other
(integer) 1
127.0.0.1:6379> zadd maker  3 nog
(integer) 1
127.0.0.1:6379> zrange maker 02
(error) ERR wrong number of arguments for 'zrange' command
127.0.0.1:6379> zrange maker 0 2
1) "other"
2) "import"
3) "nog"
127.0.0.1:6379>

科看到显示的顺序时按照 规定的顺序来的

服务实例的创建

在实际中我们通常时创建一个实例,但有时存在创建多个的情况,下面说以下创建多个的情况,一个的就更容易了。

复制多个配置文件

在这里插入图片描述

修改每个配置文件中的内容

(1)修改端口

(2)修改dump文件

在这里插入图片描述
在这里插入图片描述
如果要添加密碼,和規定日志文件,也可修改以下參數

在这里插入图片描述
在这里插入图片描述

启动多个实例

在这里插入图片描述
在cmd 中运行相应的配置文件,可启动多个实例

分片数据的存储

public static void testShard(){
//定义redis的配置
PoolConfig poolconfig = new PoolConfig();
poolconfig.setMaxTotal(1000); //表示redis的最大连接数——最大1000个线程
poolconfig.setMinIdle(5); //表示最小空闲数量
//定义redis的多个节点机器
List list = new ArrayList<>();
//为集合添加参数
list.add(new JedisShardInfo(“localhost”, 6379));
list.add(new JedisShardInfo(“localhost”, 6380));
list.add(new JedisShardInfo(“localhost”, 6381));
//定义redis分片连接池
ShardedJedisPool jedisPool = new ShardedJedisPool(poolconfig, list);
//获取连接操作redis
ShardedJedis shardedJedis = jedisPool.getResource();
//向redis中添加20个记录查看分片结果
for(int i = 0; i < 30; i++){
//增加的记录格式为 key=NUM_i value=i
shardedJedis.set(“NUM_”+i, “”+i);
}
}

以上是在java 代码中实现的分片数据存储

分区的不足

分区是多台redis共同作用的,如果其中一台出现了宕机现象,则整个分片都将不能使用,虽然是在一定程度上缓减了内存的压力,但是没有实现高可用。
涉及多个key的操作通常是不被支持的。举例来说,当两个set映射到不同的redis实例上时,你就不能对这两个set执行交集操作。
涉及多个key的redis事务不能使用。
当使用分区时,数据处理较为复杂,比如你需要处理多个rdb/aof文件,并且从多个实例和主机备份持久化文件。
高可用的解决方案:可以采用哨兵机制实现主从复制从而实现高可用。

redis性能查看与监控常用工具

1.redis-benchmark

redis基准信息,redis服务器性能检测
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能

使用场景

目前公司的redis 主要用于会话共享 以及数据缓存。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coder_jt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值