Size: 388
Comment:
|
Size: 4941
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
== Install on Slackware64 14 == | == Install Redis 2.6.12 on Slackware64 14 == |
Line 5: | Line 5: |
Build SlackBuild for Redis: | SlackBuild Redis page [[http://slackbuilds.org/repository/14.0/system/redis/]]. Build SlackBuild for Redis 2.6.12: |
Line 15: | Line 17: |
{{attachment:redis-2.6.12-x86_64-1_SBo.tgz}} | Built package for Slackware64 14: [[attachment: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: [[attachment: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 show all keys use '''keys *''' To get the type of a key use '''type keyName''' 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: * hget <haskey> <key> <key> <key> (...) * hget test:properties prop1 prop3 Get all keys and values for an hash key: * hgetall <haskey> * hgetall 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 pip == * su * easy_install pip # if no pip installed * pip install redis == 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 {{{#!highlight python python import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) # r = redis.Redis(host='localhost', port=6379, db=0) r.rpush('queueA','test') r.rpush('queueA','test2') r.rpop('queueA') r.rpop('queueA') r.rpush('queueA', {'key':1234} ) x=r.pop('queueA') #convert string to dictionary import ast dictx=ast.literal_eval(x) dictx dictx['key'] }}} == Install on FreeBSD 10.3 == {{{ pkg install redis #freebsd add redis_enable="YES" to /etc/rc.conf /usr/local/etc/rc.d/redis start /usr/local/etc/redis.conf requirepass 12345678 }}} |
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 show all keys use keys *
To get the type of a key use type keyName
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:
hget <haskey> <key> <key> <key> (...)
- hget test:properties prop1 prop3
Get all keys and values for an hash key:
hgetall <haskey>
- hgetall 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 pip
- su
- easy_install pip # if no pip installed
- pip install redis
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']
Install on FreeBSD 10.3
pkg install redis #freebsd add redis_enable="YES" to /etc/rc.conf /usr/local/etc/rc.d/redis start /usr/local/etc/redis.conf requirepass 12345678