package com.calc.tools

import redis.clients.jedis.JedisPool
import redis.clients.jedis.Jedis
import redis.clients.jedis.JedisPoolConfig
import java.util.HashMap object Redis { var shardedJedisPool: JedisPool = null
var shardedJedis: Jedis = null var ADDR: String = "" //redis ip address
var AUTH: String = "" //redis password
var PORT: Int = 6379 //redis port 默认6379
val TIMEOUT: Int = 10000 def initRedis() {
val config: JedisPoolConfig = new JedisPoolConfig();
config.setMaxTotal(100);
config.setMaxIdle(10);
config.setMaxWaitMillis(-1);
config.setTestOnBorrow(true);
shardedJedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
shardedJedis = shardedJedisPool.getResource
} /**
* 获取redis中key对应的所有数据
*/
def getAllKeys(key: String) {
initRedis()
println(shardedJedis.hkeys(key))
shardedJedisPool.returnResourceObject(shardedJedis)
} /**
* 删除redis中key对应的所有数据
*/
def deleteAll(key: String) {
initRedis()
shardedJedis.del(key)
shardedJedisPool.returnResourceObject(shardedJedis)
} /**
* 将String的数据存放到到redis中
*/
def insertRedisDo(key: String, field: String, value: String): Long = {
initRedis()
var ret: Long = shardedJedis.hset(key, field, value)
shardedJedisPool.returnResourceObject(shardedJedis)
return ret
} /**
* 将hashmap集合中的数据存放到到redis中
* *
*/
def insertRedisByHashmap(key: String, map: HashMap[String, String]) {
initRedis()
shardedJedis.hmset(key, map)
shardedJedisPool.returnResource(shardedJedis);
} def main(args: Array[String]): Unit = { val key: String = "I love you !"
val field: String = "add this field ! "
val value: String = "this is value into redis !" //插入字符串到redis 如果key和field在redis中已存在,则覆盖,相当月更新功能
println(insertRedisDo(key, field, value)) var map: HashMap[String, String] = new HashMap[String, String]
map.put("field1", "value1")
map.put("field2", "value2")
//批量插入HashMap到redis
println(insertRedisByHashmap(key, map))
//删除key下所有数据
println(deleteAll(key))
//获取key下所有数据
getAllKeys(key) } }

其中,ADDR是redis服务器的地址;AUTH是redis的独立密码。

完成。

Redis初始化配置及增删改查的更多相关文章

  1. GreenDao数据库框架的配置与增删改查

    并非原创,原创地址http://blog.csdn.net/njweiyukun/article/details/51893092 配置-------------------------------- ...

  2. 肝 hibernate 配置and增删改查 and 测试

    已经通宵三天撸代码了,现在的我已经养成晚上修仙写代码的节奏了.....最近 刚刚复习到了 hibernate 谈谈 这篇文章就谈谈我对这货的理解吧. 在看这篇文章之前希望你 知道sessionfact ...

  3. nodejs笔记五--MongoDB基本环境配置及增删改查;

    一.基本环境配置: 1,首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,然后一步一步next安装,当然可以自己更改安装目录:安装完成之后,配置环境变量 ...

  4. python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查

    Django中的ORM简介 ORM概念:对象关系映射(Object Relational Mapping,简称ORM): 用面向对象的方式描述数据库,去操作数据库,甚至可以达到不用编写SQL语句就能够 ...

  5. PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理

    相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析    PHPmysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理 介绍 PDO是一种PHP程序连接数据库的接口 ...

  6. spring的mybatis-puls 配置,增删改查操作,分页

    pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...

  7. CDH5.15.1 hive 连接mongodb配置及增删改查

    1. 下载 wget http://repo1.maven.org/maven2/org/mongodb/mongo-hadoop/mongo-hadoop-hive/2.0.2/mongo-hado ...

  8. 【Mybatis】XML配置实现增删改查

    ①创建数据库和表,数据库为mytest,表为users CREATE DATABASE mytest; USE mytest; DROP TABLE IF EXISTS users; CREATE T ...

  9. Zend Framework1 框架入门(针对Windows,包含安装配置与数据库增删改查)

    最近公司接的项目需要用到Zend Framework框架,本来需要用的是ZendFramework2 ,但是由于原有代码使用了ZendFramework1 框架,所以顺带学习了.现将一些基础入门记录一 ...

随机推荐

  1. Web开发者需具备的8个好习惯

    优秀的Web开发人员工作效率更高,因为他们拥有丰富的经验和良好的习惯.作者Gregor Dorfbauer分享了用于Web开发中的8个好习惯,这些良好的工作习惯不仅能提高效率,还能让您创建更加优秀的应 ...

  2. querySelectorAll 和 jQuery选择器

    参考 http://xahlee.info/js/jquery_diff_querySelectorAll.html http://stackoverflow.com/questions/115035 ...

  3. python进阶4--pywin32

    python 在windows下系统编程 1.环境配置:Python是没有自带访问windows系统API的库的,需要下载.库的名称叫pywin32,可以从网上直接下载. 以下链接地址可以下载: ht ...

  4. QT 下把编辑框内的中文字符转换为 char*

    第一种方法 QString str(tr("你好")); wchar_t wc[100] = {0}; pEditShortDes->text().toWCharArray( ...

  5. mirantis cert

    with no vendor specificity and/or proprietary implementations,没有供应商的特异性和/或专有的实现 https://training.mir ...

  6. MySQL性能调优的方法

    第一种方法 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的 性能,我们可以将表中字 ...

  7. UNIX网络编程---简介

    UNIX网络编程---简介 一.           概述 a)       在编写与计算机通信的程序时,首先要确定的就是和计算机通信的协议,从高层次来确定通信由哪个程序发起以及响应在合适产生.大多数 ...

  8. MYSQL++之Connect类型

    原文转自:www.cnblogs.com/aicro mysqlpp:: Connect类型主要负责连接事宜,这是在所有开始mysql操作之前必须进行的(这是句废话). 该类型的主要的结果如下所示 m ...

  9. BZOJ 1266: [AHOI2006]上学路线route(最短路+最小割)

    第一问最短路.第二问,先把最短路的图建出来(边(u,v)满足d[s->u]+d[v->t]+d(u,v)==最短路径长度,就在图中,可以从源点和汇点分别跑一次最短路得到每个点到源点和汇点的 ...

  10. OA项目总结

    一.自定义拦截器:     继承AbstractInterceptor,覆写intercept方法,实现功能逻辑,最后在Struts.xml文件中配置了自定义拦截器,首先自定义拦截器栈, <!- ...