技术标签: java JAVA-与你白头偕老 缓存 redis
# 设置密码
CONFIG set requirepass "123456"
# 查询密码
CONFIG get requirepass
# 密码登录
AUTH password
auth 123456
# 访问其他服务上redis。需要在本地装redis客户端
redis-cli -h ip地址 -p 6379
> hset hash-key sub-key1 value1
(integer) 1
> hset hash-key sub-key2 value2
(integer) 1
> hset hash-key sub-key1 value1
(integer) 0
> hgetall hash-key
1) "sub-key1"
2) "value1"
3) "sub-key2"
4) "value2"
> hdel hash-key sub-key2
(integer) 1
> hdel hash-key sub-key2
(integer) 0
> hget hash-key sub-key1
"value1"
> hgetall hash-key
1) "sub-key1"
2) "value1"
redis-server --service-install redis.windows-service.conf --loglevel verbose
expire key seconds
expireat key unixTime
pexpire key milliseconds
TTL key
PTTL key
persist key
incr key
incrby key num
encr key
encrby key num
注释绑定的主机地址
# bind 127.0.0.1
daemonize "no"
protected-mode"no"
在Redis根目录下,以管理员身份打开CMD命令窗口
输入redis-server redis.windows.conf,启动服务
在Redis根目录下尝试远程连接并查看
redis-cli -h ip地址 -p 6379 能够连接
info 能够输出信息
如果key在redis中不存在,则会自动初始化生成key,并返回0。
public Long getIncr(String key){
RedisAtomicLong redisAtomicLong = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
return redisAtomicLong.getAndIncrement();
}
class Redis{
/**
* setNX
* @param lockKey 锁
* @param value 请求标识
* @param exptime 过期时间
* @return 是否获取到锁
*/
public boolean tryGetDistributedRedisLock( String lockKey, Serializable value, final long exptime) {
return (Boolean) redisTemplate.execute(new RedisCallback<Boolean>() {
@Override
public Boolean doInRedis(RedisConnection connection) {
RedisSerializer valueSerializer = redisTemplate.getValueSerializer();
RedisSerializer keySerializer = redisTemplate.getKeySerializer();
Object obj = connection.execute("set", keySerializer.serialize(lockKey),
valueSerializer.serialize(value),
SafeEncoder.encode("NX"),
SafeEncoder.encode("EX"),
Protocol.toByteArray(exptime));
return obj != null;
}
});
}
/**
* 释放锁
*/
private final Long RELEASE_SUCCESS = 1L;
/**
* 释放分布式锁
* @param lockKey 锁
* @param requestId 请求标识
* @return 是否释放成功
*/
public boolean releaseDistributedRedisLock(String lockKey, String requestId) {
String script = "if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end";
Object result = redisTemplate.execute(new DefaultRedisScript(script,Long.class), Collections.singletonList(lockKey), requestId);
return RELEASE_SUCCESS.equals(result);
}
}
Hive错误:SemanticException [Error 10004]
1.随机生成范围在1-100的数,并保存到数组中#include<iostream>#include<ctime>using namespace std;int main() { //time()用系统时间初始化种。为rand()生成不同的随机种子。 srand((unsigned)time(NULL)); int* array = new int[10]; for (int index = 0; index < 10; index++) { //范围
Reconciliation of Multiple Corpora for Speech Emotion Recognition by Multiple Classifiers with an Adversarial Corpus DiscriminatorINTERSPEECH 2020 - Fairy Devices, Japan 关键词: 语音情感、多任务学习、对抗学习、多语料库摘要概述: 利用多任务学习和对抗学习压缩语料库特有因素以更好利用语料库,本篇文章研究的是训练数据的生成问题情感
一、Smarty模板引擎简介什么是smarty? Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离,使php程序员只专注于php代码的编写,网页美工只专注于网页的美化 没有模版引擎时出现的问题? html中php代码比重越来越大 页面的数量越来越多 程序设计与美工设计分工不明确 传统的php文件: 1. php代码跟...
1. 数据类型有哪些6+16种简单数据类型(原始类型):undefined、null、boolean、number、string、symbol。其中symbol是es6新增的。1种复杂数据类型:Object对象1)typeof操作符需要注意的是typeof是一个操作符而不是函数,因此不需要参数。调用typeof null时返回的是“object”,这是因为特殊值null被认为是一个对空对象的引用。严格来讲函数在js里被认为是对象,而不是数据类型,但函数有自己的特性,因此需要通过typeof来区
代码下载(3个工程) (编辑者:链接失效) 我想关于这个主题的文章,不算少,但也不算太多。但大多是分别介绍 DirectDraw 与 DirectInput,而并没有将其结合起来,也许你会问:“分开与合并起来并没有本质区别啊!”。其实的确没有本质区别,但那样使那些最初对游戏编程报有极大热情的爱好者感到非常失望,因为这其中的一个并不能完全满足他们的要求,并且使其感到巨大的阻力,从而失去信心。所以本
游标中的更新和删除 在PL/SQL中依然可以使用UPDATE和DELETE语句更新或删除数据行。显式游标只有在需要获得多行数据的情况下使用。PL/SQL提供了仅仅使用游标就可以执行删除或更新记录的方法。 UPDATE或DELETE语句中的WHERE CURRENT OF子串专门处理要执行UPDATE或DELETE操作的表中取出的最近的数据。要使用这个方法,在声明游标时必须使用FOR
点击上方“程序员黑叔”,选择“置顶或者星标”你的关注意义重大!作者:Kandyhttps://www.jianshu.com/p/1dae6e1680ff一、什么是 CDNCDN的全称...
Functional converage(功能覆盖率)内容来自启芯-System Verilog视频============================================================== 目录结构:1、验证流程2、计算功能覆盖率3、功能覆盖率建模4、总结 =====================================
SSD作缓存方案之LVM cache1. 前言最近因为工作的需要,接触了一些SSD作缓存相关的知识。所谓SSD作缓存就是使用fast device(例如SSD),给slow device(例如机械硬盘)做缓存,以提高计算机整体的I/O存储性能。目前在个人计算机中,使用的比较多的是机械硬盘和固态硬盘(SSD)。机械硬盘具有容量大,价格便宜,容错性好,寿命较长等优点;缺点是读写性能相对...
人体运动是理解行为的基础。 尽管在单幅图像的三维姿态和形状估计方面取得了进展,但现有的基于视频的方法由于缺乏用于训练的地面真实三维运动数据而无法产生准确和自然的运动序列。 为了解决这个问题,我们提出了“用于身体姿势和形状估计的视频推理”(VIBE),它利用了现有的大规模运动捕获数据集(AMASS)和未配对的、野外的2D关键点注释。 我们的主要创新是一个对抗性的学习框架,它利用聚集来区分真实的人体动作和由我们的时间姿势和形状回归网络产生的动作。 我们定义了一种新的具有自我注意机制的时态网络体系结构