---
title: Redis
---



### Redis datastructures
```
string , list , hash , set and sorted set
```
#### String
##### Set value
```
set <key name> <value>
set name "hiren"
```
##### Get value
```
get <key name>
get name #return "hiren"
```
##### Get value using range
```
getrange <key> <range>
getrange name 0 3 #return "hire"
```
##### Set value using range
```
setrange <key> <position> <value>
setrange name 5 RST
```
##### Override value
```
getset <key> <new value>
getset name "Rater Santo Tara"
```
##### Multiset value
```
mset <key> <value> <key> <value>
mset name "Rater Santo Tara" age 20
```
##### Increment value (only works for numbers)
```
incr age ## increment age by 1
```
##### Decrement value
```
decr <key>
```
##### Increment and decrement by specific number
```
incrby <key> 5
decrby <key> 20
```
##### Float increment (only for integer )
```
incrbyfloat <key> <float value>
```
##### Set expire time
```
setex <key> <time in second> <value>
setex name 4 hiren
```
##### Only set value if doesnt exits
```
setnx <key> <value>
```
##### Multi setnx
```
msetnx <key> <value> <key> <value>
```
##### Length of a value
```
strlen <key>
```

#### List
##### Lpush ( Left push )
```
lpush <list name or key >  <value> <value>
```
##### Rpush ( Right push )
```
rpush <key or list name > <value> <value>
```
##### Lpushx and Rpushx (push if the list is exits)
```
lpushx <list name or the key > <value>
rpushx <list name or the key > <value>
```
##### Length of a list
```
llen <list name >
llen hiren
```
##### Get values
```
lrange <list name> <starting position> <ending position>
```
Tips : For grabbing whole list use starting position = 0 and ending position = -1

##### Pop from left or right side
```
lpop <value>
rpop <value>
```
##### Remove value
```
lrem <list name> 2 <value>
```
##### Insert middle
```
linsert <list name> before <existing value> <new value>
linsert <list name> after <existing value> <new value>
```
##### Get value using index
```
lindex <list name> <index no>
```
##### Set value using index
```
lset <list name> <index number> <new value>
```
##### Trim
```
ltrim <list name> <starting position> <ending position>
```
##### List sorting
##### Basic Sorting
```
sort <list key>
```
##### Sort with limit
```
sort <list key> limit <starting point> <ending point>
```
##### Sort descending or ascending
```
sort <list key> asc
sort <list key> desc
```
##### Sort characters
```
sort <list key name> alpha
```

#### Hash
##### Set command
```
hset <key> <subkey> <value>
hset hiren age 20
```
##### Get command
```
hget <key> <subkey>
```
##### Get all value
```
hgetall <key>
```
##### Return only keys or values
```
hvals <key>
hkeys <key>
```
##### Check value existence
```
hexits <key> <subkey>
```
##### Increment
```
hincrby <key> <subkey>
hincrbyfloat <key> <subkey>
```
##### Check length
```
hlen <key>
```
##### Multiple get
```
hmget <key> <subkey> <subkey>
```
##### Multipke set
```
hmset <key> <subkey> <value> <subkey> <value>
```
##### Set if doesnt exits
```
hsetnx <key> <subkey> <value>
```
##### Delete
```
hdel <key> <subkey>
```
#### Set
##### Add single or multiple value
```
sadd <set name> <value> <value>
```
##### Remove value
```
srem <set name> <value>
```
##### Show all members
```
smembers <set name>
```
##### CHeck if already exists or not
```
sismember <setname> <value>
```
##### Check how many item in set
```
scard <set name>
```
##### Take random item from set
```
sranmember <set name>
```
##### Take random member out of the set
```
spop <set name>
```
##### Check member defference in two set
```
sdiff <set name> <set name>
```
##### Check difference and store in new set
```
sdiff <new set name>  <set name> <set name>
```
##### Intersection(common members) in both set
```
sinter <set 1> <set 2>
```
##### Union between sets
```
sunion <set 1> <set 2>
```
##### Store union result
```
sunionstore  <new set >  <set 1> <set 2>
```
##### Move value from 1 set to another
```
smove <old set> <new set> <value>
```

## Other Commands

##### Search all keys
```
keys *
```
##### Search using specific pattern
```
keys hiren*
keys hire
```
##### Check if key exist
```
exits <key name>
```
##### Check type of a key
```
type <key name>
```
##### Delete key
```
del <key name>
```
##### Move to different database
```
move <key name>  <database number>
move hiren 2
```
##### Select database
```
select <database number>
select 1
```
##### Expire
```
expire <key name> <Second>
```
##### Time to live
```
ttl <keyname> <secound>
```