redis是什么?
Redis(Remote Dictionary Server ),即远程字典服务
是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!
redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构
1、string(字符串)
2、list(链表)
3、set(集合)
4、zset(sorted set --有序集合)
5、hash(哈希类型)
在Windows系统下安装redis在之前的文章中已经分享过了,这里就只分享在Linux下安装redis。
前提条件:我这边安装的Linux系统是CentOS7,使用的远程工具是MobaXterm。
1、去官网下载redis
选择你所使用的版本。
我用的是5.0的版本。已经提前准备好了安装包。
将准备好的压缩包上传到我们已经建好的存放解压包的文件夹
解压redis
tar -zxvf redis-5.0.0.tar.gz -C /usr/local/
安装基本环境gcc
yum install gcc
编译redis
在解压好的redis目录下执行
make
将配置文件备份一份
cp redis.conf redis_bak.conf
因为redis不是默认后台启动的,需要修改配置文件。
启动redis
./redis-server ../redis.conf
测试redis是否启动成功
./redis-cli
ping
以上为无密码链接,现在修改为有密码的方式链接
修改redis.conf配置文件
注释:bind 127.0.0.1
修改:requirepass 123456
杀死redis进程
lsof -i:端口号
kill -9 进程pid
更改了配置,重新启动redis
./src/redis-server redis.conf
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
redismanager测试链接
1、String类型
- # set key //保存
- set name zs
- set age 12
- set sex nan
-
- # get key //获取
- get name
-
- # del key //删除
- del name
-
- # type key //查看类型
- type age //string 说明type返回的是键值对存储类型,而不是值存储类型
-
- # keys *或keys key //查看所有或者指定的key
- keys *
-
- # SETEX KEY_NAME TIMEOUT VALUE// 给键值对设置过期时间
- setex zs 60 live
-
- # ttl key// 获取键值对剩余的存活时间
- ttl zs

2、Hash类型
- # hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中
- hset user name zs age 12 sex nv
-
- # hget key field #获取指定的字段值
- hget user age
-
- # hdel key field #删除指定的字段值
- hdel user age
-
- # hgetall key #查询指定key的所有字段
- hgetall user
-
- # hexists key field #查询指定key中的字段是否存在
- hexists user name
-
- # hlen key #获取指定key中的长度
- hlen user

3、List类型
- # lpush key value1 value2 value3 #将一个或多个值插入到列表头部
- lpush en a b c d e f g
-
- # llen key #获取列表的长度
- llen en
-
- # lindex key index #根据索引获取列表中的元素
- lindex en 1 #返回f,说明下标从0开始,同时先进后出
-
- # lrange key start sop #查看指定范围内的元素
- lrange en 1 3#返回fed,说明下标从0开始,同时先进后出

4、Set类型
- # sadd key value1 [value2] #向集合添加一个或多个元素
- sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu
-
- # scard key #获取集合中的元素数量
- scard hobby
-
- # exists key #是否存在
- exists hobby
