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

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

  • Redis

Redis

https://redis.io/

Key-value in-memory data store used as a

  • database
  • cache
  • streaming engine
  • message broker

Install Redis 2.6.12 on Slackware64 14

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

Build SlackBuilds for Redis 2.6.12:

   1 cd /tmp
   2 wget http://slackbuilds.org/slackbuilds/14.0/system/redis.tar.gz
   3 tar xvzf redis.tar.gz
   4 cd redis
   5 wget http://redis.googlecode.com/files/redis-2.6.12.tar.gz
   6 su
   7 ./redis.SlackBuild
   8 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

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

Build SlackBuilds for Redis 2.6.14:

   1 su
   2 cd /tmp
   3 wget http://slackbuilds.org/slackbuilds/14.0/system/redis.tar.gz
   4 tar xvzf redis.tar.gz
   5 cd redis
   6 wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz
   7 ./redis.SlackBuild
   8 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:

   1 chmod 755 /etc/rc.d/rc.redis # start on boot
   2 /etc/rc.d/rc.redis start

Manual start/stop:

   1 sh /etc/rc.d/rc.redis start
   2 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 fields with values:

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

  • hmset test:properties prop1 value1 prop2 value2 prop3 value3

Gets field values for an hash key:

  • hget <haskey> <field> <field <field> (...)

  • hget test:properties prop1 prop3

Get all fields and values for an hash key:

  • hgetall <haskey>

  • hgetall test:properties

Get fields for an hash key:

  • hkeys <haskey>

  • hkeys test:properties

Get field for an hash key:

  • hkeys <haskey>

  • hkeys test:properties

Delete field from an hash key:

  • hdel <haskey> field

  • 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

   1 su
   2 easy_install pip # if no pip installed
   3 pip install redis

Python client install from source

   1 su
   2 cd /tmp
   3 wget [[https://pypi.python.org/packages/source/r/redis/redis-2.8.0.tar.gz]]
   4 tar xvzf redis-2.8.0.tar.gz 
   5 cd redis-2.8.0
   6 python setup.py build
   7 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

   1 pkg install redis #freebsd
   2 add redis_enable="YES" to /etc/rc.conf
   3 /usr/local/etc/rc.d/redis start
   4 
   5 /usr/local/etc/redis.conf
   6 requirepass 12345678

Install redis in debian

   1 sudo apt install redis
   2 redis-cli
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01