Wednesday, June 17, 2015

Redis 3.0.2 shell commands in Ubuntu 14.0.4

ram@ram-pc:~$ redis-cli INFO
# Server
redis_version:3.0.2
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9a95cedf214a3630
redis_mode:standalone
os:Linux 3.16.0-30-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.2
process_id:5171
run_id:37b0cd8c28fc3303789eac3e2b08b62866a25804
tcp_port:6379
uptime_in_seconds:623
uptime_in_days:0
hz:10
lru_clock:8494215
config_file:/etc/redis/redis.conf

# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:508784
used_memory_human:496.86K
used_memory_rss:7081984
used_memory_peak:508784
used_memory_peak_human:496.86K
used_memory_lua:36864
mem_fragmentation_ratio:13.92
mem_allocator:jemalloc-3.6.0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1434556952
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:11
total_commands_processed:13
instantaneous_ops_per_sec:0
total_net_input_bytes:330
total_net_output_bytes:15769
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:0.41
used_cpu_user:0.17
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Cluster
cluster_enabled:0

# Keyspace
ram@ram-pc:~$



ram@ram-pc:~$ redis-cli

127.0.0.1:6379> help
redis-cli 3.0.2
Type: "help @<group>" to get a list of commands in <group>
      "help <command>" for help on <command>
      "help <tab>" to get a list of possible help topics
      "quit" to exit

127.0.0.1:6379> CONFIG GET *
  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) ""
  5) "masterauth"
  6) ""
  7) "unixsocket"
  8) ""
  9) "logfile"
..
..
127) "notify-keyspace-events"
128) ""
129) "bind"
130) "127.0.0.1"

Single Key Value Pair

127.0.0.1:6379[1]> set emp_name "ramkumar"
OK
127.0.0.1:6379[1]> set emp_name "Karthik"
OK
127.0.0.1:6379[1]> get emp_name
"Karthik"
127.0.0.1:6379[1]>

Multiple Key Value Pair

127.0.0.1:6379[1]> mset emp_no "1001" emp_name "Ramkumar" emp_deptid "dept01" location "Chennai"
OK
127.0.0.1:6379[1]> mget emp_no emp_name emp_deptid
1) "1001"
2) "Ramkumar"
3) "dept01"
127.0.0.1:6379[1]>

Some Numeric Operations

127.0.0.1:6379[1]> set incr 1
OK
127.0.0.1:6379[1]> set counter 1
OK
127.0.0.1:6379[1]> incr counter
(integer) 2
127.0.0.1:6379[1]> incr counter
(integer) 3
127.0.0.1:6379[1]> get counter

Incrimenting string will result errors
127.0.0.1:6379[1]> set strcounter "a"
OK
127.0.0.1:6379[1]> incr strcounter
(error) ERR value is not an integer or out of range
127.0.0.1:6379[1]> set strcounter a
OK
127.0.0.1:6379[1]> incr strcounter
(error) ERR value is not an integer or out of range
127.0.0.1:6379[1]> set strcounter 1a
OK
127.0.0.1:6379[1]> incr strcounter
(error) ERR value is not an integer or out of range
127.0.0.1:6379[1]>

Batch operation

127.0.0.1:6379[1]> MULTI
OK
127.0.0.1:6379[1]> set name "Karthik"QUEUED
127.0.0.1:6379[1]> set salary 100
QUEUED
127.0.0.1:6379[1]> incr salary
QUEUED
127.0.0.1:6379[1]> exec
1) OK
2) OK
3) (integer) 101
127.0.0.1:6379[1]>


127.0.0.1:6379[1]> mset emp:personal:name "Ram" emp:personal:native "Chennai" emp:personal:education "MSC"
OK
127.0.0.1:6379[1]> mget emp:personal
1) (nil)
127.0.0.1:6379[1]> mget emp:personal:name emp:personal:education
1) "Ram"
2) "MSC"
127.0.0.1:6379[1]>

or

127.0.0.1:6379[1]> hmset emp:personal name "Karthik" native "hyd" education "MCA"
OK
127.0.0.1:6379[1]> hvals emp:personal
1) "Karthik"
2) "hyd"
3) "MCA"
127.0.0.1:6379[1]>

127.0.0.1:6379[1]> hkeys emp:personal
1) "name"
2) "native"
3) "education"
127.0.0.1:6379[1]>

LISTs - multiple ordered sets (can act as queues or stacks)

127.0.0.1:6379[1]> rpush emp:info 1001 ram dept51 gritt chennai 27000
(integer) 6

0 - starting point
-1 - ending point (-1 indicates end)

127.0.0.1:6379[1]> lrange emp:info 0 -1
1) "1001"
2) "ram"
3) "dept51"
4) "gritt"
5) "chennai"
6) "27000"
127.0.0.1:6379[1]> lrange emp:info 2 2
1) "dept51"
127.0.0.1:6379[1]> lrange emp:info 2 3
1) "dept51"
2) "gritt"
127.0.0.1:6379[1]>

127.0.0.1:6379[1]> lrem emp:info 1 "gritt"
(integer) 1

127.0.0.1:6379[1]> lrange emp:info 0 -1
1) "1001"
2) "ram"
3) "dept51"
4) "chennai"
5) "27000"

127.0.0.1:6379[1]> lpop emp:info
"1001"
127.0.0.1:6379[1]> lpop emp:info
"ram"
127.0.0.1:6379[1]> lpop emp:info
"dept51"
127.0.0.1:6379[1]> lrange emp:info 0 -1
1) "chennai"
2) "27000"
127.0.0.1:6379[1]>

move keys between databases

127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> set name "ram"
OK
127.0.0.1:6379[2]> select 3
OK
127.0.0.1:6379[3]> get name
(nil)
127.0.0.1:6379[3]> select 2
OK
127.0.0.1:6379[2]> get name
"ram"
127.0.0.1:6379[2]> move name 3
(integer) 1
127.0.0.1:6379[2]> select 3
OK
127.0.0.1:6379[3]> get name
"ram"

reference:
Seven databases in seven weeks by  by Eric Redmond and Jim R. Wilson (Author)

No comments:

Post a Comment