1、安装:
1、下载
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
2、解压
tar -zxvf redis-3.2.8.tar.gz
3、复制,放到、/usr/local目录下
sudo mv ./redis-3.2.8 /usr/local/redis/
4、进入目录
cd /usr/local/redis/
5、编译安装
sudo make && make install
6、安装完成,进入/usr/local/bin目录中查看
cd /usr/local/bin ls -all
[root@localhost bin]# ls -all 总用量 15064 drwxr-xr-x. 2 root root 4096 12月 10 22:01 . drwxr-xr-x. 15 root root 4096 12月 10 22:00 .. -rwxr-xr-x. 1 root root 2431616 12月 10 22:01 redis-benchmark -rwxr-xr-x. 1 root root 25205 12月 10 22:01 redis-check-aof -rwxr-xr-x. 1 root root 5181486 12月 10 22:01 redis-check-rdb -rwxr-xr-x. 1 root root 2584459 12月 10 22:01 redis-cli lrwxrwxrwx. 1 root root 12 12月 10 22:01 redis-sentinel -> redis-server -rwxr-xr-x. 1 root root 5181486 12月 10 22:01 redis-server
redis-server redis服务器 redis-cli redis命令行客户端 redis-benchmark redis性能测试工具 redis-check-aof AOF文件修复工具 redis-check-rdb RDB文件检索工具
7、配置文件移到/etc/目录下
sudo cp /usr/local/redis/redis.conf /etc/redis/
8、配置
Redis的配置信息在/etc/redis/redis.conf下。
核心配置文件:
#绑定ip:如果需要远程访问,可将此⾏注释,或绑定⼀个真实ip bind 127.0.0.1
#端口,默认6379 port 6379
#是否以守护进程运⾏
#如果以守护进程运⾏,则不会在命令⾏阻塞,类似于服务
#如果以⾮守护进程运⾏,则当前终端被阻塞
#设置为yes表示守护进程,设置为no表示⾮守护进程
#推荐设置为yes
daemonize yes
#数据库文件
dbfilename dump.rdb
数据⽂件存储路径
dir /var/lib/redis
#⽇志⽂件 logfile /var/log/redis/redis-server.log
#数据库,默认有16个
database 16 #从0开始
#主从复制,类似于双机备份。
slaveof
为redis配置密码 requirepass 123456
2、服务端和客户端命令
服务器端:
服务器端的命令为redis-server
可以使⽤help查看帮助⽂档 redis-server --help
推荐使⽤服务的⽅式管理redis服务
启动
sudo service redis start
停止
sudo service redis stop
重启
sudo service redis restart
ps -ef|grep redis 查看redis服务器进程 sudo kill -9 pid 杀死redis服务器 sudo redis-server /etc/redis/redis.conf 指定加载的配置文件
客户端:
可以使用help查看帮助文档
redis-cli --help
连接redis
redis-cli
远程连接 redis-cli -h 192.168.31.38 -p 6379
#输入密码 auth 123456
切换数据库 数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库 select n
3 、数据库操作
1、设置键值
String类型:
set key value
2、设置键值及过期时间
设置键为aa值为aa过期时间为3秒的数据 setex aa 3 aa
3、设置多个键值
mset a1 python a2 java a3 c
4、追加值
apend a1 haha
5、获取键值
获取单个键值 get key 获取多个键值 mget key1 key2
6、删除
del key1 key2
键命令
查找键
keys [pattern]
#参数支持正则表达式
判断键值是否存在,存在返回1,不存在返回2
exists [key]
查看键值的类型
type [key]
删除键:
del key1 key2 ..
设置键的过期时间
expire key seconds
设置键a1有效期3秒
查看有效时间
ttl key
hash类型:
- hash⽤于存储对象,对象的结构为属性、值
- 值的类型为string
设置单个属性
hset key field value
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用
原因:
强制关闭Redis快照导致不能持久化。 解决方案:
运行config set stop-writes-on-bgsave-error no 命令后,关闭配置项stop-writes-on-bgsave-error解决该问题。
设置多个属性
hmset key field1 value1 field2 value2 .
获取值:
获取所有的属性:
hkeys key
获取⼀个属性的值
hget key field
获取多个属性的值:
hmget key field1 field2 ...
获取所有属性的值
hvals key
删除:
删除整个hash键及值,使用del命令
删除属性,属性对应的值会被一起被删除
hdel key field1 field2 ...
list类型:
- 列表的元素类型为string
- 按照插⼊顺序排序
lpush key value1 value2 ...