Redis基础

redis是一个开源的key-value数据库,其特点就是基于键值存储数据;它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有list,set ,sorted set和hash类型。redis官网地址:https://redis.io/redis服务文件:rpm-qlredis#查看redis安装后生成的文件信息,如配置文件、日志文...

redis是一个开源的key-value数据库,其特点就是基于键值存储数据;

它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有list,set ,sorted set和hash类型。

redis官网地址:https://redis.io/


redis服务文件:

rpm -ql redis
#查看redis安装后生成的文件信息,如配置文件、日志文件和服务文件
/etc/redis.conf
#主配置文件
/usr/bin/redis-server
#redis的服务文件
/usr/bin/redis-sentinel
#在配置主从复制和高可用时会用到,sentinel也具有自己的服务unit file和配置文件
/usr/lib/systemd/system/redis.service
#启动redis的unit file
/var/lib/redis
#redis在磁盘中存放数据的目录,虽然redis是基于内存数据结构的,但对磁盘依然具有IO操作
/var/run/redis
#存放redis运行时pid信息
/var/log/redis
#存放redis日志的


开启redis服务

systemctl  start redis.service 
ss -ntl
#redis默认监听127.0.0.1的TCP 6379端口

redis的客户端工具:redis-cli

redis-cli  -h
#查看此客户端工具的帮助信息
redis-cli
#连接本机redis直接输入此命令即可

redis的默认数据库

[root@centos7 ~]#redis-cli  
127.0.0.1:6379> SELECT 15
OK
127.0.0.1:6379[15]> SELECT 16
(error) ERR invalid DB index
#redis默认有16个数据库,以数字编排,范围是0-15,默认登陆到0数据库
#切换库关键字SELECT

redis支持多种数据结构,所以操作也就不同

127.0.0.1:6379[15]> help [tab|tab tab]
#redis的help功能做的很好,不同数据类型都可以查找帮助信息

下面我们根据不同的数据结构演示其使用方法

string类型数据:
127.0.0.1:6379[15]> SET key1 'hello redis'
OK
127.0.0.1:6379[15]> GET key1
"hello redis"
#简单创建一个字符串的键值

127.0.0.1:6379[15]> APPEND key1 ',hello linux'
(integer) 23
127.0.0.1:6379[15]> GET key1
"hello redis,hello linux"
#追加字符串

127.0.0.1:6379[15]> STRLEN key1
(integer) 23
#字符串长度

127.0.0.1:6379[15]> INCR count
(integer) 1
127.0.0.1:6379[15]> INCR count
(integer) 2
127.0.0.1:6379[15]> INCR count
(integer) 3
127.0.0.1:6379[15]> INCRBY count 2
(integer) 5
127.0.0.1:6379[15]> DECR count
(integer) 4
127.0.0.1:6379[15]> DECRBY count 3
(integer) 1
#INCR与DECR分别是对value进行加一或者减一,INCRBY和DECRBY分别是对value进行加或者减指定步长的数值

127.0.0.1:6379[15]> GET count
"1"
127.0.0.1:6379[15]> DEL count
(integer) 1
127.0.0.1:6379[15]> GET count
(nil)
#删除键
list类型数据:
127.0.0.1:6379[15]> LPUSH number one two three four
(integer) 4
127.0.0.1:6379[15]> LINDEX number 0
"four"
127.0.0.1:6379[15]> LINDEX number 3
"one"
127.0.0.1:6379[15]> LINSERT number AFTER one zero
(integer) 5
127.0.0.1:6379[15]> LINDEX number 3
"one"
127.0.0.1:6379[15]> LINDEX number 4
"zero"
127.0.0.1:6379[15]> LRANGE number 0 4
1) "four"
2) "three"
3) "two"
4) "one"
5) "zero"
#LPUSH是从左向右入栈,RPUSH是从右向左入栈,LINSERT即从左向右插入某一值,LRANGE是显示指定键的参数范围

127.0.0.1:6379[15]> RPOP number
"zero"
127.0.0.1:6379[15]> LLEN number
(integer) 3
#RPOP是从右向左弹出字段,LPOP是从左向右弹出字段,LLEN是列出指定键的长度
hash数据类型:
127.0.0.1:6379[15]> HMSET  member name tom age 20 gender male
OK
#主键与子键
127.0.0.1:6379[15]> HGETALL member
1) "name"
2) "tom"
3) "age"
4) "20"
5) "gender"
6) "male"
#显示所有键值
127.0.0.1:6379[15]> HKEYS member
1) "name"
2) "age"
3) "gender"
#只显示子键
127.0.0.1:6379[15]> HVALS member
1) "tom"
2) "20"
3) "male"
#显示子键值
127.0.0.1:6379[15]> HSTRLEN member age
(integer) 2
127.0.0.1:6379[15]> HDEL member gender
(integer) 1

以上显示多种数据类型在redis接口下的基本操作,可以参考help来继续学习

本文演示到此结束


转载于:https://blog.51cto.com/panpangao/1982149

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐

  • 浏览量 37
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献13条内容