| 
  
   Size: 4445 
  
  Comment:  
 | 
  
   Size: 4548 
  
  Comment:  
 | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 38: | Line 38: | 
| * chmod 755 /etc/rc.d/rc.redis | * chmod 755 /etc/rc.d/rc.redis # start on boot | 
| Line 40: | Line 40: | 
Manual start/stop: * sh /etc/rc.d/rc.redis start * sh /etc/rc.d/rc.redis stop  | 
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
 - 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
 ./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 # start on boot
 - /etc/rc.d/rc.redis start
 
Manual start/stop:
- sh /etc/rc.d/rc.redis start
 - sh /etc/rc.d/rc.redis stop
 
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
 - lpush lx "aaaaa"
 - llen lx
 - lindex lx 0
 - lpush lx "bbbbb"
 - lpush lx "ccccc"
 - llen lx
 - lindex lx 0
 - lindex lx 1
 - lindex lx 2
 - lpop lx
 - lpop lx
 - lpop lx
 - lpop lx
 
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']
