MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 12 as of 2013-10-02 19:55:17
  • Redis

Redis

Install Redis 2.6.12 on Slackware64 14

SlackBuild Redis page http://slackbuilds.org/repository/14.0/system/redis/.

Build SlackBuild for Redis 2.6.12:

  • cd /tmp
  • wget http://slackbuilds.org/slackbuilds/14.0/system/redis.tar.gz

  • tar xvzf redis.tar.gz
  • cd redis
  • wget http://redis.googlecode.com/files/redis-2.6.12.tar.gz

  • su
  • ./redis.SlackBuild

  • installpkg /tmp/redis-2.6.12-x86_64-1_SBo.tgz

Built package for Slackware64 14: redis-2.6.12-x86_64-1_SBo.tgz

Install Redis 2.6.14 on Slackware 14

SlackBuild Redis page http://slackbuilds.org/repository/14.0/system/redis/.

Build SlackBuild for Redis 2.6.14:

  • su
  • cd /tmp
  • wget http://slackbuilds.org/slackbuilds/14.0/system/redis.tar.gz

  • tar xvzf redis.tar.gz
  • cd redis
  • wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz

  • ./redis.SlackBuild

  • installpkg /tmp/redis-2.6.14-i486-1_SBo.tgz

Built package for Slackware 14: redis-2.6.14-i486-1_SBo.tgz

Start Redis service on Slackware

Run the following commands:

  • chmod 755 /etc/rc.d/rc.redis
  • /etc/rc.d/rc.redis start

It listens in port 6379 and stores it's data on /var/lib/redis/, as configured in /etc/redis.conf.

Tutorial The Little Redis Book

Tutorial in http://openmymind.net/redis.pdf.

Connect to a Redis server

To connect to a Redis server, the redis-cli command may be used.

Usage examples:

  • redis-cli -h <hostname> -p <port> -a <passwd>

  • redis-cli -h 127.0.0.1 -p 6379 -a secretPass

Setting and getting keys

The basic anatomy of a command is:

  • <command> <key> <value>

To set a key named unixcommand:bc with the value {command:'bc' , description:'bc - An arbitrary precision calculator language' , syntax:'bc [ -hlwsqv ] [long-options] [ file ... ]'} the command would be:

  • set unixcommand:bc "{command:'bc' , description:'bc - An arbitrary precision calculator language' , syntax:'bc [ -hlwsqv ] [long-options] [ file ... ]'}"

To get the key value the command would be:

  • get unixcommand:bc

Redis hash key

Command prefix H.

Set an hash key with multiple keys with values:

  • hmset <haskey> <key> <value> <key> <value> <key> <value> (...)

  • hmset test:properties prop1 value1 prop2 value2 prop3 value3

Gets key values for an hash key:

  • hmget <haskey> <key> <key> <key> (...)

  • hmget test:properties prop1 prop3

Get all keys and values for an hash key:

  • hmgetall <haskey>

  • hmgetall test:properties

Get keys for an hash key:

  • hkeys <haskey>

  • hkeys test:properties

Get keys for an hash key:

  • hkeys <haskey>

  • hkeys test:properties

Delete key from an hash key:

  • hdel <haskey> <key>

  • hdel test:properties prop2

Redis list

Command prefix L or R.

Examples:

  • rpush list value
  • rpop list
  • rpush queueA "{'id':1,'task':'add','values':[1,2,3,4,5,6,7,8]}"
  • rpop list value

Redis sorted set

Command prefix Z. Only allow unique members values on the sorted set. When a existing member is added, the score is updated.

Examples:

  • zadd sortedSetx 123 "{'key':'hello'}" #add member to the sorted set with score 123
  • zcard sortedSetx #number of members in the sorted set sortedSetx
  • zrangebyscore sortedSetx 100 150 # get members where the score is between 100 and 150
  • zrange sortedSetx 0 0 #get the members between 0 and 1 index
  • zrem sortedSetx "{'key':'hello'}" #removes the member in the sorted set

Python client install from source

  • su
  • cd /tmp
  • wget https://pypi.python.org/packages/source/r/redis/redis-2.8.0.tar.gz

  • tar xvzf redis-2.8.0.tar.gz
  • cd redis-2.8.0
  • python setup.py build
  • python setup.py install

   1 python
   2 import redis
   3 r = redis.StrictRedis(host='localhost', port=6379, db=0)
   4 # r = redis.Redis(host='localhost', port=6379, db=0)
   5 r.rpush('queueA','test')
   6 r.rpush('queueA','test2')
   7 r.rpop('queueA')
   8 r.rpop('queueA')
   9 r.rpush('queueA', {'key':1234}  )
  10 x=r.pop('queueA')
  11 #convert string to dictionary
  12 import ast
  13 dictx=ast.literal_eval(x)
  14 dictx
  15 dictx['key']
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01