安装与启动
# 预安装软件包
yum install make automake gcc gcc-c++ kernel-devel tcl
# 编译、安装
tar zxf redis-5.0.8.tar.gz
cd redis-5.0.8
make MALLOC=libc
make test
cd src/
./redis-server
./redis-cli
查看与设置登录密码
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
127.0.0.1:6379> CONFIG set requirepass "dfq"
OK
127.0.0.1:6379> CONFIG get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379> AUTH dfq
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "dfq"
远程连接redis服务器
./redis-cli -h 127.0.0.1 -p 6379 -a dfq
操作
增
# string
127.0.0.1:6379> SET dfq duanfuqiang
OK
127.0.0.1:6379> GET dfq
"duanfuqiang"
# hash
127.0.0.1:6379> DEL dfq
(integer) 1
127.0.0.1:6379> HMSET dfq name "duanfuqiang" age "26"
OK
127.0.0.1:6379> HGET dfq name
"duanfuqiang"
127.0.0.1:6379> HGET dfq age
"26"
# list
127.0.0.1:6379> DEL dfq
(integer) 1
127.0.0.1:6379> lpush dfq shell
(integer) 1
127.0.0.1:6379> lpush dfq php
(integer) 2
127.0.0.1:6379> lpush dfq javascript
(integer) 3
127.0.0.1:6379> lrange dfq 0 10
1) "javascript"
2) "php"
3) "shell"
# set
127.0.0.1:6379> DEL dfq
(integer) 1
127.0.0.1:6379> sadd dfq atest
(integer) 1
127.0.0.1:6379> sadd dfq btest
(integer) 1
127.0.0.1:6379> sadd dfq ctest
(integer) 1
127.0.0.1:6379> SMEMBERS dfq
1) "btest"
2) "atest"
3) "ctest"
删
改
# string
127.0.0.1:6379> SET qqq 111
OK
127.0.0.1:6379> GET qqq
"111"
127.0.0.1:6379> RENAME qqq qqq1
OK
127.0.0.1:6379> GET qqq1
"111"
查
# string
127.0.0.1:6379> SET qqq 111
OK
127.0.0.1:6379> GET qqq
"111"
127.0.0.1:6379> EXISTS qqq
(integer) 1
订阅
127.0.0.1:6379> SUBSCRIBE redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
1) "message"
2) "redisChat"
3) "hello dfq!"
1) "message"
2) "redisChat"
3) "hello dfq22!"
发布
127.0.0.1:6379> PUBLISH redisChat "hello dfq!"
(integer) 1
127.0.0.1:6379> PUBLISH redisChat "hello dfq22!"
(integer) 1
获取redis服务器统计信息
127.0.0.1:6379> INFO
# Server
redis_version:5.0.8
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a7ceec0f7328018f
redis_mode:standalone
os:Linux 4.4.224-1.el7.elrepo.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:21252
run_id:630aca38ce7db35664713d0219356b5de8e44c5c
tcp_port:6379
uptime_in_seconds:5325
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:15178582
executable:/usr/local/src/redis-5.0.8/src/./redis-server
config_file:
# Clients
connected_clients:3
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0
# Memory
used_memory:948128
used_memory_human:925.91K
used_memory_rss:4624384
used_memory_rss_human:4.41M
used_memory_peak:948128
used_memory_peak_human:925.91K
used_memory_peak_perc:100.11%
used_memory_overhead:945946
used_memory_startup:862224
used_memory_dataset:2182
used_memory_dataset_perc:2.54%
allocator_allocated:914336
allocator_active:4586496
allocator_resident:4586496
total_system_memory:1022214144
total_system_memory_human:974.86M
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:5.02
allocator_frag_bytes:3672160
allocator_rss_ratio:1.00
allocator_rss_bytes:0
rss_overhead_ratio:1.01
rss_overhead_bytes:37888
mem_fragmentation_ratio:5.06
mem_fragmentation_bytes:3710048
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:83538
mem_aof_buffer:0
mem_allocator:libc
active_defrag_running:0
lazyfree_pending_objects:0
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1592235162
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:131072
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
aof_last_cow_size:0
# Stats
total_connections_received:5
total_commands_processed:36
instantaneous_ops_per_sec:0
total_net_input_bytes:1201
total_net_output_bytes:46487
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
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0
keyspace_hits:11
keyspace_misses:0
pubsub_channels:1
pubsub_patterns:0
latest_fork_usec:1595
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0
# Replication
role:master
connected_slaves:0
master_replid:f32d5d216c7e81449bd0d3e5c98cf21a1e7175a8
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# CPU
used_cpu_sys:6.725912
used_cpu_user:3.837125
used_cpu_sys_children:0.005183
used_cpu_user_children:0.000000
# Cluster
cluster_enabled:0
# Keyspace
db0:keys=3,expires=0,avg_ttl=0
参考地址:
https://www.runoob.com/redis/redis-server.html
备份与恢复
127.0.0.1:6379> save
OK
性能测试
[root@k8s-node01 src]# ./redis-benchmark -n 1000 -q
PING_INLINE: 28571.43 requests per second
PING_BULK: 33333.34 requests per second
SET: 34482.76 requests per second
GET: 37037.04 requests per second
INCR: 33333.34 requests per second
LPUSH: 34482.76 requests per second
RPUSH: 33333.34 requests per second
LPOP: 37037.04 requests per second
RPOP: 37037.04 requests per second
SADD: 38461.54 requests per second
HSET: 33333.34 requests per second
SPOP: 37037.04 requests per second
LPUSH (needed to benchmark LRANGE): 34482.76 requests per second
LRANGE_100 (first 100 elements): 34482.76 requests per second
LRANGE_300 (first 300 elements): 34482.76 requests per second
LRANGE_500 (first 450 elements): 35714.29 requests per second
LRANGE_600 (first 600 elements): 30303.03 requests per second
MSET (10 keys): 32258.06 requests per second