从阿里云上下载安装文件
wget http://labfile.oss.aliyuncs.com/files0422/redis-2.8.9.tar.gz
下载之后解压文件
tar -zxvf redis-2.8.9.tar.gz
cd redis-2.8.9
make
make test
然后
ls
cd src
ls
拷贝可执行文件redis-server 到/usr/local/bin目录
拷贝可执行文件redis-cli到/usr/local/bin
然后任意目录执行
redis-server
即可启动redis服务器
使用命令redis-cli即可执行redis命令
**redis启动**
service redis start
字符串类型的值
redis 设置值 set 键名 值
redis 获取strings类型的值 get 键名
设置多个键值对用mset
mset key1 a key2 b key3 c
获取多个键值
mget key1 key2 key3
数组类型的值
创建数组用 lpush 数组名 值 或者用 rpush 数组名 值
往数组里放值 lpush从左边放 eg lpush 数组名 值
rpush 从右边放 eg rpush 数组名 值 如果要放入多个值则直接在 值后面用空格分隔 输入多个值即可
获取数组里的值用命令lrange 数组名 开始位 结束位,获取全部的用命令 lrange 数组名 0 -1 其中-1表示倒数第一个
hashs类型
使用命令 hmset 对象:值 属性名 属性值 属性名 属性值。。。
使用命令 hget 对象:值 属性名 获取某个属性的值
使用命令hgetall 对象:值来获取所有属性的值。
最后加上 no-such-field
redis无序集合(set)
该集合中不会存在两个相同的元素,当存在时则不插入。
创建集合用: sadd 集合名 值
获取集合的值用smembers 集合名。
redis有序集合
该集合和set集合类似,只是每一个值加了一个参数,可以理解为序号
其中序号可以相同。
创建集合用: zadd 集合名 序号 值
获取集合用 :zrange 集合名 0 -1
redis判断某个键是否存在用命令 exists 键
删除某个键用命令del 键
获取某个键的类型 用 type,根据返回值确定类型
其中( none:不存在,string:字符,list,set,zset,hash),key不存在返回空。
使用keys 返回匹配的key ,可以用正则 eg keys list*
使用randomkey 随机返回一个已存在的key。
使用clear清除界面。
使用命令rename 旧键名 新键名 会直接重命名之前的键名为新键名,如果新键名已存在,则会覆盖。
使用命令renamenx 旧键名 新键名 来重命名,如果新键名已存在则重命名失败。
使用命令dbsize 来看有多少个key值。
使用命令expire 键名 数值 表示这个key 数值对应的秒数之后过期。eg :expire key1 10
设置某个键有效时间可以用 ex 数值,eg set key 100 ex 300
使用命令 ttl 键名 可以获取该键的剩余有效时间。
清除当前数据库中所有的键用命令 flushdb
清空所有数据库中所有的键用命令 flushall
使用命令 config get requirepass 获取连接数据库的密码
使用命令 config set requirepass aaaa 设置密码为 aaaa
使用命令 auth 密码进行认证。可以修改redis配置文件 redis.conf来进行修改redis密码。
使用命令config get 参数名获取参数的配置信息。‘’
使用命令 info 参数名获取信息。
命令可以查询Redis几乎所有的信息,其命令选项有如下:
server: Redis server的常规信息
clients: Client的连接选项
memory: 存储占用相关信息
persistence: RDB and AOF 相关信息
stats: 常规统计
replication: Master/slave请求信息
cpu: CPU 占用信息统计
cluster: Redis 集群信息
keyspace: 数据库信息统计
all: 返回所有信息
default: 返回常规设置信息
redis事务控制只能保证每条语句顺序执行。
使用命令multi,输入该命令之后,下面的输入不会一下就执行一条,当全部输入之后输入exec才执行命令。
redis持久化机制
有两种:
一种是快照的形式(将数据存放在文件里)文件名为dump.rdb
可配置redis在指定秒数内超过多少个key就写入到磁盘。
eg:
save 900 1 #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内如果超过10个key被修改,则快照保存
第二种是:将读写操作存放到文件中
appendonly yes //启用aof持久化方式
#appendfsync always //收到写命令就立即写入磁盘,最慢,但是保证了数据的完整持久化
appendfsync everysec //每秒中写入磁盘一次,在性能和持久化方面做了很好的折中
#appendfsync no //完全依赖os,性能最好,持久化没有保证
在redis-cli的命令中,SAVE命令是将数据写入磁盘中。
使用虚拟内存
把不经常访问的数据放入到磁盘中
vm-enable yes #开启vm功能
vm-swap-file /tmp/redis.swap #交换出来的value保存的文件路径
vm-max-memory 10000000 #redis使用的最大内存上限
vm-page-size 32 #每个页面的大小32字节
vm-pages 123217729 #最多使用多少个页面
vm-max-threads 4 #用于执行value对象换入的工作线程数量