GithubHelp home page GithubHelp logo

redispp's People

Contributors

aianus avatar cbascom avatar kevinkjt2000 avatar zed-0xff avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redispp's Issues

Causes app to crash when a get is executed on a list.

Causes app to crash when a get is executed on a list.

    std::string keyStd = key.toUtf8().constData();
    std::string valueStd = value.toUtf8().constData();
    this->conn->lpush(keyStd, valueStd);
this->conn->get(keyStd)

abort 6.

Need a way to return null from readBulkReply

Currently, Connection::readBulkReply throws an exception on a null bulk reply. The redis protocol page at http://redis.io/topics/protocol states "The client library API should not return an empty string, but a nil object, when the requested object does not exist.".

To this end, what do you think about using shared_ptr or boost::optional instead of just string?

Support subscribe a channel

Current version can not subscribe a channel.

If this client can support this feature , it would be the best client for redis.

"Buffer is full" exception

Hi.
I use redispp as follows and it works like charm:

#declaration of my RedisAdapter class
using namespace redispp;
class RedisAdapter
{
  RedisAdapter()
  {
    Connection rconn("127.0.0.1", "6379", "");
    conn = &rconn;
    conn->set("one", "first");
  };
  Connection *conn;
};
#good experience from RedisAdapter usage
int main()
{
  RedisAdapter ra;
}

And this:

#declaration of my RedisAdapter class
using namespace redispp;
class RedisAdapter
{
  RedisAdapter()
  {
    Connection rconn("127.0.0.1", "6379", "");
    conn = &rconn;
  };
  Connection *conn;
};
#bad experience from RedisAdapter usage
int main()
{
  RedisAdapter ra;
  ra.conn->set("two", "second");
}

throws me:

terminate called after throwing an instance of 'std::runtime_error'
what():  buffer is full: spot + needed >= end

I understand that this exception means that there is some buffer overflow. Could you please give me some kind of an advice. Maybe i passed something from view.

Could there be a clearer indication of Public Domain or some other license?

The Open Source Initiative (OSI) does not recommend this method of licensing software. See https://opensource.org/faq#public-domain.

Wikipedia has this article on Public-domain software. Of particular interest is the following:

Under the Berne Convention, which most countries have signed, an author automatically obtains the exclusive copyright to anything they have written, and local law may similarly grant copyright, patent, or trademark rights by default. The Berne Convention also covers programs. Therefore, a program is automatically subject to a copyright, and if it is to be placed in the public domain, the author must explicitly disclaim the copyright and other rights on it in some way, e.g. by a waiver statement.[1] In some Jurisdictions, some rights (in particular moral rights) cannot be disclaimed: for instance, civil law tradition-based German law's "Urheberrecht" differs here from the Anglo-Saxon common law tradition's "copyright" concept.

So this non-license method of placing software into the public domain is a bit problematical, since in order to actually place it in the public domain there should have been a waiver statement disclaiming the copyright and other rights in the software.

Any thoughts on this? Have licenses such as Apache or CC3.0 been considered in the past?

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.