05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
Redis常用命令
Redis提供了豐富的命令對數據庫和各種數據庫類型進行操作,這些命令可以再Linux終端使用。
?
鍵值相關命令:
Keys:返回滿足給定pattern的所有key
用表達式*表示取出所有的key
| 127.0.0.1:6379> keys * 1) "age" 2) "name" 3) "age2" 127.0.0.1:6379> keys a* 1) "age" 2) "age2" 127.0.0.1:6379> |
?
Exists:確認一個key是否存在
| 127.0.0.1:6379> exists name (integer) 1 127.0.0.1:6379> exists toto (integer) 0 127.0.0.1:6379> |
?
?
del:刪除一個key.
| 127.0.0.1:6379> set toto1 toto OK 127.0.0.1:6379> keys * 1) "name" 2) "age2" 3) "age" 4) "toto1" 127.0.0.1:6379> del toto1?? ??//刪除toto1這個鍵。 (integer) 1 127.0.0.1:6379> del toto1?? ??//再次刪除的時候刪除不成功 (integer) 0 127.0.0.1:6379> exists toto1?? // (integer) 0 127.0.0.1:6379> keys * 1) "name" 2) "age2" 3) "age" 127.0.0.1:6379> |
?
expire:設置一個key的過期時間
在本例中,設置addr這個key的過期時間是10秒,然后不斷的用ttl來獲取這個key的有效時長,直至-1,說明此值已過期。
?
expiree addr 10表示:對addr設置過期時間為10秒。
ttl查詢剩余的過期時間,當返回-1的時候表示已經過期了。
| 127.0.0.1:6379> set age 20??? //設置一個key為age的值。 OK 127.0.0.1:6379> get age "20" 127.0.0.1:6379> expire age 10 (integer) 1 127.0.0.1:6379> ttl age (integer) 8????????????????????????????????????????????????????????????????????? 127.0.0.1:6379> ttl age (integer) 5 127.0.0.1:6379> ttl age (integer) 3 127.0.0.1:6379> ttl age (integer) -2 127.0.0.1:6379> ttl age (integer) -2 127.0.0.1:6379> ttl age (integer) -2 127.0.0.1:6379> exists age (integer) 0 127.0.0.1:6379> keys *??? //查看age是否還存在 1) "name" 2) "age2" 127.0.0.1:6379> |
?
move:將當前數據庫中的key轉移到其它數據庫中。
選擇數據庫,要用到select,select 0表示選擇到當前數據庫。Select 1表示第二個數據庫,一共是從0到15個數據庫,總共是16個數據庫。(注意,進入redis的時候默認進入的是0數據庫)
| 127.0.0.1:6379> select 0 OK 127.0.0.1:6379> set age 30 OK 127.0.0.1:6379> get age "30" 127.0.0.1:6379> move age 1 (integer) 1 127.0.0.1:6379> get age (nil) 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> get age "30" 127.0.0.1:6379[1]> |
?
persist:移除給定key的過期時間
| 127.0.0.1:6379[1]> select 1 OK 127.0.0.1:6379[1]> keys * 1) "age" 127.0.0.1:6379[1]> expire age 300? ?//設置age的過期時間為300 (integer) 1 127.0.0.1:6379[1]> ttl age (integer) 297 127.0.0.1:6379[1]> ttl age (integer) 293 127.0.0.1:6379[1]> persist age?? ?//取消age的過期 (integer) 1 127.0.0.1:6379[1]> ttl age (integer) -1 127.0.0.1:6379[1]> exists age (integer) 1 127.0.0.1:6379[1]> keys * 1) "age" 127.0.0.1:6379[1]> |
?
randomkey:隨機返回key空間的一個key
| 127.0.0.1:6379[1]> keys * 1) "gender" 2) "name" 3) "address" 4) "age" 127.0.0.1:6379[1]> randomkey?????? //隨機獲得一個key "gender" 127.0.0.1:6379[1]> randomkey "address" 127.0.0.1:6379[1]> randomkey "gender" 127.0.0.1:6379[1]> |
?
rename:重命名key
| 127.0.0.1:6379[1]> keys * 1) "gender" 2) "name" 3) "address" 4) "age" 127.0.0.1:6379[1]> rename age nianling??? 將age這個key重新命名為nianling OK 127.0.0.1:6379[1]> keys * 1) "gender" 2) "name" 3) "address" 4) "nianling" 127.0.0.1:6379[1]> |
?
type:返回鍵的數據類型
| 127.0.0.1:6379[1]> type name string 127.0.0.1:6379[1]> |
?
服務器的相關命令
ping:測試連接是否存活
?
echo:在命令行打印一些內容
| 127.0.0.1:6379> echo toto "toto" 127.0.0.1:6379> echo toto2 "toto2" |
?
select:選擇數據庫.Redis數據庫編號從0~15,我們可以選擇任意一個數據庫來進行數據的存取。
當選擇16時,報錯,說明沒有編號為16的這個數據庫。
quit:退出連接,或者exit
?
dbsize:返回當前數據庫中key的數目。
| 127.0.0.1:6379> keys * 1) "age2" 2) "name" 127.0.0.1:6379> dbsize???? (integer) 2??????????????? //返回0表示有2個key 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> keys * 1) "gender" 2) "name" 3) "address" 4) "nianling" 127.0.0.1:6379[1]> dbsize (integer) 4???????????????? //返回4表示有4個key 127.0.0.1:6379[1]> |
?
info:獲取服務器的信息和統計
| 127.0.0.1:6379[1]> info # Server redis_version:2.8.19 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:b80fb73838c77f5a redis_mode:standalone os:Linux 2.6.32-358.el6.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.7 process_id:5136 run_id:607e299bec2e4e492d138ee1a5a29871d0062e24 tcp_port:6379 uptime_in_seconds:2863 uptime_in_days:0 hz:10 lru_clock:14609760 config_file: ? # Clients connected_clients:1 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 ? # Memory used_memory:504152 used_memory_human:492.34K used_memory_rss:7958528 used_memory_peak:504152 used_memory_peak_human:492.34K used_memory_lua:35840 mem_fragmentation_ratio:15.79 mem_allocator:jemalloc-3.6.0 ? # Persistence loading:0 rdb_changes_since_last_save:8 rdb_bgsave_in_progress:0 rdb_last_save_time:1423893041 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:1 total_commands_processed:40 instantaneous_ops_per_sec:0 total_net_input_bytes:969 total_net_output_bytes:584 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:7 keyspace_misses:1 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec: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:3.51 used_cpu_user:0.93 used_cpu_sys_children:0.00 used_cpu_user_children:0.00 ? # Keyspace db0:keys=2,expires=0,avg_ttl=0 db1:keys=4,expires=0,avg_ttl=0 127.0.0.1:6379[1]> |
?
config get:實時傳儲收到的請求。
| 127.0.0.1:6379[1]> config get * ? 1) "dbfilename" ? 2) "dump.rdb" ? 3) "requirepass" ? 4) "" ? 5) "masterauth" ? 6) "" ? 7) "unixsocket" ? 8) "" ? 9) "logfile" ?10) "" ?11) "pidfile" ?12) "/var/run/redis.pid" ?13) "maxmemory" ?14) "0" ?15) "maxmemory-samples" ?16) "3" ?17) "timeout" ?18) "0" ?19) "tcp-keepalive" ?20) "0" ?21) "auto-aof-rewrite-percentage" ?22) "100" ?23) "auto-aof-rewrite-min-size" ?24) "67108864" ?25) "hash-max-ziplist-entries" ?26) "512" ?27) "hash-max-ziplist-value" ?28) "64" ?29) "list-max-ziplist-entries" ?30) "512" ?31) "list-max-ziplist-value" ?32) "64" ?33) "set-max-intset-entries" ?34) "512" ?35) "zset-max-ziplist-entries" ?36) "128" ?37) "zset-max-ziplist-value" ?38) "64" ?39) "hll-sparse-max-bytes" ?40) "3000" ?41) "lua-time-limit" ?42) "5000" ?43) "slowlog-log-slower-than" ?44) "10000" ?45) "latency-monitor-threshold" ?46) "0" ?47) "slowlog-max-len" ?48) "128" ?49) "port" ?50) "6379" ?51) "tcp-backlog" ?52) "511" ?53) "databases" ?54) "16" ?55) "repl-ping-slave-period" ?56) "10" ?57) "repl-timeout" ?58) "60" ?59) "repl-backlog-size" ?60) "1048576" ?61) "repl-backlog-ttl" ?62) "3600" ?63) "maxclients" ?64) "4064" ?65) "watchdog-period" ?66) "0" ?67) "slave-priority" ?68) "100" ?69) "min-slaves-to-write" ?70) "0" ?71) "min-slaves-max-lag" ?72) "10" ?73) "hz" ?74) "10" ?75) "repl-diskless-sync-delay" ?76) "5" ?77) "no-appendfsync-on-rewrite" ?78) "no" ?79) "slave-serve-stale-data" ?80) "yes" ?81) "slave-read-only" ?82) "yes" ?83) "stop-writes-on-bgsave-error" ?84) "yes" ?85) "daemonize" ?86) "no" ?87) "rdbcompression" ?88) "yes" ?89) "rdbchecksum" ?90) "yes" ?91) "activerehashing" ?92) "yes" ?93) "repl-disable-tcp-nodelay" ?94) "no" ?95) "repl-diskless-sync" ?96) "no" ?97) "aof-rewrite-incremental-fsync" ?98) "yes" ?99) "aof-load-truncated" 100) "yes" 101) "appendonly" 102) "no" 103) "dir" 104) "/usr/local/redis/bin" 105) "maxmemory-policy" 106) "volatile-lru" 107) "appendfsync" 108) "everysec" 109) "save" 110) "3600 1 300 100 60 10000" 111) "loglevel" 112) "notice" 113) "client-output-buffer-limit" 114) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" 115) "unixsocketperm" 116) "0" 117) "slaveof" 118) "" 119) "notify-keyspace-events" 120) "" 121) "bind" 122) "" 127.0.0.1:6379[1]> |
| 127.0.0.1:6379[1]> config get timeout 1) "timeout" 2) "0" 127.0.0.1:6379[1]> |
?
flushdb:刪除當前選擇數據庫中的所有key(也就是說flushdb的作用是清空當前數據庫)
| 127.0.0.1:6379[2]> select 1 OK 127.0.0.1:6379[1]> set age 20 OK 127.0.0.1:6379[1]> set name zhangsan OK 127.0.0.1:6379[1]> set gender male OK 127.0.0.1:6379[1]> keys * 1) "name" 2) "gender" 3) "age" 127.0.0.1:6379[1]> flushdb OK 127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> |
?
flushall:刪除所有數據庫中的所有key(這個命令不管你在哪個數據庫中執行,都會把所有數據庫中的所有key都刪除掉)。
| 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> dbsize (integer) 3 127.0.0.1:6379> keys * 1) "name" 2) "age" 3) "age2" 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> set age 1 OK 127.0.0.1:6379[1]> set name zhangsan????? 左側用來確定0 和 1 數據庫是否有key OK 127.0.0.1:6379[1]> keys * 1) "name" 2) "age" 127.0.0.1:6379[1]> dbsize (integer) 2 127.0.0.1:6379[1]> flushall????????? ?//執行了flushall之后0和1數據庫都變成空了 OK 127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> |
?
?
?
?
?
?
?
?
?
?
?
?
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10网页显示模糊怎么办 Windo
- 下一篇: 修复u盘是死机怎么办 U盘死机修复方法大