一、登录进centos中,新建一个文件夹
mkdir redissoft
二、进入创建的文件夹,在线安装redis,命令如下
cd redissoft
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
使用如下命令解压安装包并安装:
tar xzf redis-3.2.8.tar.gz
cd redis-3.2.8
make
make install
三、启动redis,使用命令
redis-server
出现如下界面启动成功:
按ctrl + c 可退出当前界面。
四、设置后台启动
使用命令ls查看当前文件夹的目录,找到redis的配置文件redis.conf,如下所示
使用命令vi redis.conf 进行配置文件的修改 ,以#开头的全是注释
输入/port进行搜索,可以修改redis的端口号,默认端口号为6379
输入/daemon 可模糊搜索到后台启动,
修改“no” 为yes,并:wq 保存退出即可设置完成。
接着使用命令 redis-server redis.conf 启动redis,使用命令ps aux | grep redis 查看进程,演示如下,出现下图说明后台启动成功。
下面介绍几个配置文件中其他可能需要改的地方,这里就不一一演示了,过程和上述相同。
#bind 127.0.0.1 #注释掉该行,允许所有主机访问redis
protectedmode no #关闭保护模式
requirepass itany #配置redis密码,使用时需要输入:auth itany进行认证,认证后才能操作 redis
五、连接服务器
使用命令redis-cli连接redis,使用exit退出redis,使用命令redis-cli shutdown关闭redis。
六、redis是以key/value(类似mysql的字段/值) 的形式来存储数据的,可以使用命令keys * 查看所有的key。命令补齐快捷键
“ Tab ”键。(很好用)
redis的数据类型有string、list、set、hash、sorted-sets。 命令不区分大小写,但是key区分。
127.0.0.1:6379> select 0 #切换到第1个数据库,默认共有16个数据库, 索引从0开始 OK
127.0.0.1:6379> keys * #显示所有的键key
127.0.0.:6379> set name tom #设置键
127.0.0.1:6379> get name #获取键对应的值 "tom"
127.0.0.1:6379> exists mykey #判断该键是否存在,存在返回1,不存在返回 0 (integer) 0 1
27.0.0.1:6379> append mykey "hello" #如果该键不存在,则创建,返回当前value 的长度 (integer) 5
127.0.0.1:6379> append mykey " world" #如果该键已经存在,则追加,返回追加后 value的长度 (integer) 11
127.0.0.1:6379> get mykey #获取mykey的值 "hello world"
127.0.0.1:6379> strlen mykey #获取mykey的长度 (integer) 11
127.0.0.1:6379> set mykey "this is test" EX 5 #5秒后过期,EX和PX表示失效时间,单位为秒和毫秒,两者不能同时使用;NX表示数据库中不存在时才能设置, XX表示存在时才能设置
127.0.0.1:6379>ttl mykey #查看过期时间
127.0.0.1:6379> flushdb #清空数据库
127.0.0.1:6379> incr mykey #递增1(数字+1)
127.0.0.1:6379> decr mykey #递减1
127.0.0.1:6379> del mykey #删除该键
127.0.0.1:6379> incrby mykey 5 #递增5,即步长
127.0.0.1:6379> decrby mykey 10 #递减10
127.0.0.1:6379> setex mykey 10 "hello" #设置指定Key的过期时间为10秒,等同于set mykey hello ex 10
127.0.0.1:6379>type aaa #查看aaa是什么数据类型到的
下面有每种数据类型的部分指令:
七、事务
命令
#在当前连接上启动一个新的事务 127.0.0.1:6379> multi
OK
127.0.0.1:6379> set name tom #执行事务中的第一条命令,从该命令的返回结果可以看出,该命令并没有立即执行,而是存于 QUEUED 事务的命令队列
#又执行一个新的命令,从结果可以看出,该命令也被存于事务的命令队列
127.0.0.1:6379>set age 20
QUEUED #执行事务命令队列中的所有命令,从结果可以看出,队列中命令的结果得到返回 1
27.0.0.1:6379> exec #只有当提交事务后,在其他连接中才能看到变化
1) (integer) 1
2) (integer) 1
和关系型数据库中的事务相比,在redis事务中如果有某一条命令执行失败,其后的命令仍然会被继续执行。
事务回滚命令:
另外还要提醒一下自己,虚拟机的root,1037,auth zhou。