Redis安装和常用数据结构

Redis的代码遵循ANSI-C编写,可以在所有POSIX系统(如Linux, *BSD, Mac OS X, Solaris等)上安装运行。而且Redis并不依赖任何非标准库,也没有编译参数必需添加。redis的安装出奇的简单,这可能也是他风靡的一个原因,让人很容易上手,不像某些东西,编译阶段就能让人完全绝望。
先去官网下载源码:
解压:tar –zxvf redis-2.4.6.tar.gz
编译:需要说明的事,redis的安装非常简单,已经有现成的Makefile文件,直接运行make命令即可。

make make install 

Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:

redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
现在就可以启动redis了,redis只有一个启动参数,就是他的配置文件路径。
redis-server /etc/redis.con

配置详解

#是否以后台daemon方式运行
daemonize yes
#pid文件位置
pidfile /home/redis/redis-port/6378/redis.pid 
#监听的端口号
port 6378
tcp-backlog 511
tcp-keepalive 0
loglevel notice
#log文件位置
logfile "/home/redis/redis-port/6378/6378.log"
@开启数据库的数量
databases 16
@保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
@是否使用压缩
rdbcompression yes
 #数据快照文件名(只是文件名,不包括目录)
dbfilename dump.rdb 
rdbchecksum yes
#数据快照的保存目录
dir /home/redis/redis-port/6378
#如果该节点从节点那这里的就必须制定主redis的ip和端口
# slaveof <masterip> <masterport>
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
#redis运行的最大内存
maxmemory 200m
#是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
notify-keyspace-events ""
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
redis数据结构:

string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富。
list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。
set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。
zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。
Hash数据类型允许用户用Redis存储对象类型,Hash数据类型的一个重要优点是,当你存储的数据对象只有很少几个key值时,数据存储的内存消耗会很小.更多关于Hash数据类

常用操作指令:
状态回复(最简单的回复)
redis> PING
PONG
redis> SET test 123
OK
错误回复(以error开头,后面跟着错误信息)
redis> TEST
(error) ERR unknown command 'TEST‘
整数回复
redis> INCR test_incr
(integer) 1
字符串回复(最常用的一种回复,双引号包裹)
redis> get test
"123"
多行字符串回复
redis> KEYS *
1) "test"
2) "test_incr"
3) "1"

list常用操作

# 加入单个元素
redis> LPUSH liuzw liuzhiwei
(integer) 1
# 加入重复元素
redis> LPUSH liuzw liuzhiwei
(integer) 2
redis> LRANGE liuzw 0 -1 # 列表允许重复元素
1) "liuzhiwei"
2) "liuzhiwei"
# 加入多个元素
redis> LPUSH mylist a b c
(integer) 3
redis> LRANGE mylist 0 -1
1) "c"
2) "b"
3) "a"



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值