redis安装及命令详解

  • A+
所属分类:Redis

系统环境:Centos 7

软件版本:redis 3.2.8

1.安装所需依赖包

yum install make gcc gcc-c++ wget libtool tcl vim numactl -y

2.安装redis

wget http://download.redis.io/releases/redis-3.2.13.tar.gz && tar zxvf redis-3.2.13.tar.gz && cd redis-3.2.13 && make && cd src &&  make PREFIX=/opt/redis install

3.修改配置文件

cd ..;
mv redis.conf /opt/redis;
sed -i 's/daemonize no/daemonize yes/' /opt/redis/redis.conf;

4.简单启动脚本

tee -a /opt/redis.sh <<-'EOF'
#!/bin/bash
#redis start 
/opt/redis/bin/redis-server /opt/redis/redis.conf
EOF

5.测试

/opt/redis/bin/redis-cli 
127.0.0.1:6379> set a long 
OK 
127.0.0.1:6379> get a 
"long" 

redis常用命令详解

redis-benchmark:redis性能测试工具,测试redis在当前系统下的读写性能 -h 检测主机ip地址 -p  检测主机端口 -s<socket>服务器套接字 -c 并发连接数 -n 请求数 -d 测试使用的数据集的大小/字节(默认3字节) -k  1:表示保持连接(默认值) 0:重新连接 -r  SET/GET/INCR方法使用随机数插入数值,设置10则插入值为rand:000000000000 - rand:000000000009 -P 默认为1(无管道),当网络延迟过长时,使用管道方式通信(请求和响应打包发送接收) -q 简约信息模式,只显示查询和秒值等基本信息 --csv 以csv格式输出信息 -l 无线循环插入测试数据,ctrl+c停止 -t <tests> 只运行<tests>测试逗号分隔的列表命令,如 -t ping , set , get -I 空闲模式,立即打开50个空闲连接和等待

redis-benchmark -t set -n 1000000 -r 100000000

redis-benchmark -t ping,set,get -n 100000 –csv

redis-benchmark -r 10000 -n 10000 lpush mylist ele:rand:000000000000

redis-benchmark -h localhost -p 6379 -c 100 -n 100000

100个并发连接,100000个请求,检测host为localhost端口为6379的redis服务器性能 redis-server 启动程序 redis-server  [/path/to/redis.conf] 启动并加载默认配置文件 redis-server - (read config from stdin) 使用标准输入读取配置为启动参数 redis-server -v or --version 查看版本号 redis-server -h or --help  帮助 redis-server --test-memory 256  检测256M内存 redis-cli:连接用的客户端 -h 检测主机ip -p 检测主机端口 -s<socket> 服务器套接字 -a 连接到Master服务器时使用的密码 -r 执行指定的N次命令 -i 执行命令后等待N秒,如-i 0.1 info(执行后等0.1秒) -n 指定连接N号ID数据库,如-n 3 (连接3号数据库) -x 从控制台输入的信息中读取最后一个参数 -d 定义多个定界符为默认输出格式(默认:\n) --raw 使用原数据格式返回输出内容 --latency 进入一个不断延时采样的特殊模式 --slave 模拟一个从服务器到主服务器的命令显示反馈 --pipe 使用管道协议模式 --bigkeys 监听显示数据最大的key值,--bigkeys -i 0.1 --hlep 帮助 --version 版本号 redis-cli -r 3 info 重复执行info命令三次 cat testStr.txt | redis-cli  -x  set  testStr读取testStr.txt文件所有内容设置为testStr的值

查询系统信息
[root@bogon bin]# /opt/redis/bin/redis-cli info
# Server
redis_version:3.2.8        redis版本号
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:e5bf2a1021530951
redis_mode:standalone
os:Linux 3.10.0-327.el7.x86_64 x86_64
arch_bits:64               64位系统
multiplexing_api:epoll
gcc_version:4.8.5          gcc版本号
process_id:1519            当前服务器进程id
run_id:a51452aba3c7df2ed66807e161b6b4c9b82fe46e
tcp_port:6379              端口号
uptime_in_seconds:3363     正常工作时间(秒)
uptime_in_days:0           正常工作天数
hz:10
lru_clock:1137679
executable:/usr/local/redis/bin/redis-server
config_file:/usr/local/redis/etc/redis.conf

# Clients
connected_clients:1         客户端连接数
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0           锁定的客户端

# Memory
used_memory:822600
used_memory_human:803.32K   占用内存
used_memory_rss:7688192
used_memory_rss_human:7.33M  
used_memory_peak:822600
used_memory_peak_human:803.32K
total_system_memory:1929732096
total_system_memory_human:1.80G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:9.35
mem_allocator:jemalloc-4.0.3

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1494307441
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
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:2
total_commands_processed:3
instantaneous_ops_per_sec:0
total_net_input_bytes:81
total_net_output_bytes:6097242
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:1
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:10123
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:5.24
used_cpu_user:2.18
used_cpu_sys_children:0.02
used_cpu_user_children:0.00

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=1,expires=0,avg_ttl=0

redis-check-aof:检查aof日志的工具
redis-check-rdb:检查rdb日志的工具

redis.conf 配置文件说明
daemonize  如需后台运行改为yes
pdifile    把pid文件放在/var/run/redis.pid,可以配置到其他地址
port       监听端口,默认为6379
timeout    连接时的超时时间,单位为秒
loglevel   四个级别:debug、verbose、notice、warning
Debug      记录很多信息,用于开发和测试;
Varbose    有用的信息,不像debug会记录那么多;
Notice     普通的verbose,常用于生产环境;
Warning    只有非常重要或者严重的信息会记录到日志;
默认是notice级别。
logfile    日志路径,默认使用标准输出,即打印在命令行终端的端口上
database   可用数据库数,默认值为16,默认使用的数据库是0
save       保存快照的频率,第一个*表示多长时间,第二个*表示执行多少次写操作。
           在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
           比如save 300 10 表示:300秒内至少有300个key被改变时,触发保存
rdbcompression  在进行镜像备份时,是否进行压缩
dbfilename      镜像备份文件的文件名
dir             镜像备份的文件放置的路径
slaveof         设置该数据库为其他数据库的从数据库
masterauth      当主数据库连接需要密码验证时,在这里设定
maxclients      限制同时连接的客户端数量
appendonly      开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率
appendfsync     设置aof的同步频率,有三种选择always、everysec、no,
                always每次写都强制调用fsync,everysec每秒启用一次fsync,
                no不调用fsync等待系统自己同步。默认是everysec表示每秒同步一次。
vm_enabled      是否开启虚拟内存支持
vm_swap_file    虚拟内存的交换文件的路径
vm_max_momery   开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: