一.官网:redis.io
二.概念:是一个基于c语言编写的键值数据库,nosql。
新建redis
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
tar.gz:在linux下面的压缩文件(一般认为)
解压文件到指定目录,注意:-C是大写
[root@localhost ~]# tar -zxf redis-5.0.0.tar.gz -C /usr/local/
cd redis-5.0.0/ 进入redis
在解压目录下编译make命令,编译是需要c语言的支持的
安装,也是在解压目录中执行 make install
进入src cd src/
查看客户和服务端:[root@localhost src]# ll redis-*
关注src下的两个文件和redis下的两个文件
为redis-5.0.0建立快链,先要回到local目录下
[root@localhost local]# ln -s redis-5.0.0/ redis (名字叫做redis)
查看ll可以看到:
lrwxrwxrwx. 1 root root 12 9月 20 09:27 redis -> redis-5.0.0/
用redis就可以直接访问
[root@localhost local]# cd redis
启动redis
[root@localhost src]# redis-server
1,redis k,v 基本c的,数据库 nosql
2, yum install -y wget
3,下载 redis
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
4,解压,-C是大写,表示解压到指定目录
[root@localhost ~]# tar -zxf redis-5.0.0.tar.gz -C /usr/local/
5,在解压目录下,编译:
[root@localhost redis-5.0.0]# make
编译是需要c语言的相关支持的,:)
6,安装,也是在解压目录中执行
[root@localhost redis-5.0.0]# make install
进入src
[root@localhost redis-5.0.0]# cd src/
查看服务和客户端
[root@localhost src]# ll redis-*
看到:
-rwxr-xr-x. 1 root root 8081592 9月 20 09:17 redis-server
-rwxr-xr-x. 1 root root 4782392 9月 20 09:17 redis-cli
以及[root@localhost redis-5.0.0]目录下的
-rw-rw-r--. 1 root root 62155 10月 17 2018 redis.conf
还有哨兵的配置文件
sentinel.conf
7,为redis-5.0.0建立快链
[root@localhost local]# ln -s redis-5.0.0/ redis
查看
[root@localhost local]# ll
可以看到:
lrwxrwxrwx. 1 root root 12 9月 20 09:27 redis -> redis-5.0.0/
用下面就可以直接进入到redis目录了
[root@localhost local]# cd redis
8,启动redis
[root@localhost src]# redis-server
9,查看运行进程
[root@localhost ~]# ps -ef | grep redis
root 7100 2839 0 09:31 pts/2 00:00:03 redis-server *:6379
root 7622 7604 0 09:57 pts/3 00:00:00 grep --color=auto redis
[root@localhost ~]#
ps 命令的作用是显示进程信息
-e: 显示所有进程
-f:全格式
grep:使用正则表达式搜索文本,后把匹配的行显示出来
10,开启客户端:
[root@localhost src]# redis-cli
127.0.0.1:6379>
11,设置key,value
127.0.0.1:6379> set name zs
OK
取值:
127.0.0.1:6379> get name
"zs"
127.0.0.1:6379>
对于没有的key,返回nil
127.0.0.1:6379> get address
(nil)
如果要查看帮助,用help + 命令
127.0.0.1:6379> help get
GET key
summary: Get the value of a key
since: 1.0.0
group: string
127.0.0.1:6379>
另:
127.0.0.1:6379> help @string
查看帮助
寻找帮助,用tab, help 空格tab
127.0.0.1:6379> help @list
清屏
clear
退出:ctrl+c
127.0.0.1:6379>
[root@localhost src]#
类似于 i++ i--的操作:
单词:increment
127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> get num
"3"
127.0.0.1:6379>
类似于i+=100, i=i+100的操作:
127.0.0.1:6379> incrby num 100
(integer) 103
127.0.0.1:6379> get num
"103"
decr i--
127.0.0.1:6379> get num
"103"
127.0.0.1:6379> decr num
(integer) 102
127.0.0.1:6379> decr num
(integer) 101
127.0.0.1:6379> decr num
(integer) 100
127.0.0.1:6379> decr num
(integer) 99
127.0.0.1:6379>
i-=10
127.0.0.1:6379> decrby num 10
(integer) 89
127.0.0.1:6379> decrby num 10
(integer) 79
127.0.0.1:6379> decrby num 10
(integer) 69
127.0.0.1:6379>
如果没有key,则v从0开始
这里num2没有定义
127.0.0.1:6379> incr num2
(integer) 1
127.0.0.1:6379> incr num2
(integer) 2
127.0.0.1:6379>
时间到计时,key只能存指定时间。
127.0.0.1:6379> setex t1 10 hello
验证码300秒
127.0.0.1:6379> setex checkcode 300 0920
OK
127.0.0.1:6379> get checkcode
"0920"
127.0.0.1:6379>
比如,存用户信息
127.0.0.1:6379> set user:id:133:name lj
OK
127.0.0.1:6379> get user:id:133:name
"lj"
127.0.0.1:6379> set user:id:133:address hncs
OK
127.0.0.1:6379> get user:id:133:address
"hncs"
127.0.0.1:6379>
把value弄个json,进行存取
127.0.0.1:6379> set user:id:135 '{"name":"zsf","gender":"na","age":22}'
OK
127.0.0.1:6379> get user:id:135
"{\"name\":\"zsf\",\"gender\":\"na\",\"age\":22}"
127.0.0.1:6379>
hash类型操作:
127.0.0.1:6379> hset user:123 name zs
(integer) 1
127.0.0.1:6379> hset user:123 age 23
(integer) 1
127.0.0.1:6379> hget user:123 name
"zs"
127.0.0.1:6379> hget user:123 age
"23"
127.0.0.1:6379> hgetall user:123
1) "name"
2) "zs"
3) "age"
4) "23"
127.0.0.1:6379>