Coder Social home page Coder Social logo

kedis's Introduction

Kedis

Redis Kotlin wrapper based on Jedis

How to get it!

Maven

<dependency>
    <groupId>com.sxtanna.database</groupId>
    <artifactId>Kedis</artifactId>
    <version>LATEST</version>
</dependency>

Gradle

compile "com.sxtanna.database:Kedis:+"

How it works!

1-0. To create a new instance of Kedis, you would follow this syntax

From Kotlin

val kedis = Kedis[file: File]

From Java

final Kedis kedis = Kedis.get(file: File);

1-1. To initialize and shutdown a database use these two methods

kedis.enable()

and

kedis.disable()

2-0. After you have an instance, to get a resource

From Kotlin

val resource = kedis.resource()

From Java

final Jedis resource = kedis.resource();

Database#resource will throw an IllegalStateException if it's unable to create a resource a/o the database isn't enabled

2-1. Or you could utilize the Database's ability to automatically manage the connection with the invoke methods

From Kotlin

kedis {                       
	set("Username", "Sxtanna")
}                                                                     

From Java

kedis.execute(task -> task.set("Username", "Sxtanna"));

kedis's People

Contributors

bramhaag avatar sxtanna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kedis's Issues

kotlin exit block error

    runBlocking {
  

        val redis = Kedis.get(File(this.javaClass.getResource("/redis.conf").toURI()))
        redis.enable()

        redis {

        }
        // err??
}
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at kotlin.reflect.jvm.internal.FunctionCaller$Method.callMethod(FunctionCaller.kt:97)
	at kotlin.reflect.jvm.internal.FunctionCaller$StaticMethod.call(FunctionCaller.kt:107)
	at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:106)
	at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod(KCallableImpl.kt:148)
	at kotlin.reflect.jvm.internal.KCallableImpl.callBy(KCallableImpl.kt:110)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.callFunctionWithInjection(ApplicationEngineEnvironmentReloading.kt:334)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.executeModuleFunction(ApplicationEngineEnvironmentReloading.kt:285)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.instantiateAndConfigureApplication(ApplicationEngineEnvironmentReloading.kt:262)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.createApplication(ApplicationEngineEnvironmentReloading.kt:119)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.start(ApplicationEngineEnvironmentReloading.kt:234)
	at io.ktor.server.netty.NettyApplicationEngine.start(NettyApplicationEngine.kt:90)
	at io.ktor.server.netty.NettyApplicationEngine.start(NettyApplicationEngine.kt:16)
	at io.ktor.server.engine.ApplicationEngine$DefaultImpls.start$default(ApplicationEngine.kt:46)
	at io.ktor.server.netty.DevelopmentEngine.main(DevelopmentEngine.kt:14)
Caused by: java.lang.NoClassDefFoundError: kotlin/AutoCloseableKt
	at com.sxtanna.database.base.Database.invoke(Database.kt:115)
	at io.fastpay.order.OrderKt$orderApi$1.doResume(order.kt:137)
	at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:42)
	at kotlinx.coroutines.experimental.DispatchedTask$DefaultImpls.run(Dispatched.kt:149)
	at kotlinx.coroutines.experimental.DispatchedContinuation.run(Dispatched.kt:13)
	at kotlinx.coroutines.experimental.EventLoopBase.processNextEvent(EventLoop.kt:140)
	at kotlinx.coroutines.experimental.BlockingCoroutine.joinBlocking(Builders.kt:70)
	at kotlinx.coroutines.experimental.BuildersKt__BuildersKt.runBlocking(Builders.kt:46)
	at kotlinx.coroutines.experimental.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.experimental.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:36)
	at kotlinx.coroutines.experimental.BuildersKt.runBlocking$default(Unknown Source)
	at io.fastpay.order.OrderKt.orderApi(order.kt:124)
	at io.fastpay.MainKt$main$1.invoke(main.kt:17)
	at io.fastpay.MainKt$main$1.invoke(main.kt)
	at io.ktor.routing.Routing$Feature.install(Routing.kt:65)
	at io.ktor.routing.Routing$Feature.install(Routing.kt:51)
	at io.ktor.application.ApplicationFeatureKt.install(ApplicationFeature.kt:59)
	at io.ktor.routing.RoutingKt.routing(Routing.kt:93)
	at io.fastpay.MainKt.main(main.kt:16)
	... 18 more
Caused by: java.lang.ClassNotFoundException: kotlin.AutoCloseableKt
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 37 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.