Redis的入门(安装与基本使用)

Redis

1.Linux中安装Redis:

1.解压redis压缩包

2.yum install gcc-c++(注意安装最近版本的c++编译器)

3.cd到解压后的redis目录执行make命令

出现Hint: It’s a good idea to run 'make test’表示安装成功

2.基本用法:

1.启动redis服务

先在配置文件中配置daemonize 为yes,表示设置后台守护进程

redis-server 配置文件

例如:redis-server myconf/redis.conf

redis默认有16个数据库(根据redis.conf可知)

2.基本命令

127.0.0.1:6379> select 1 #切换到1号数据库
OK
shutdown: 关闭服务
flushdb: 清楚当前数据库数据
flushall: 清楚所有数据库数据
dbsize: 查看当前数据库大小
keys *:查看当前数据库的所有键
ping: 检测redis是否启动成功,成功则输出pong
set 键 值: 存key value数据
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
该命令用于性能检测:-h 主机 -p端口号 -c 并发连接数 -n 一条连接可以发的请求数

127.0.0.1:6379> TYPE age  #查看当前key的类型
string

127.0.0.1:6379> ttl name #查看当前key的剩余时间,-1表示永久,-2表示已失效或者不存在
(integer) -1

127.0.0.1:6379> move age 1 #移动当前key到1号数据库
(integer) 1

127.0.0.1:6379> EXPIRE name 20 #设置当前key的过期时间,单位是秒
(integer) 1

127.0.0.1:6379> EXISTS name #检测是否存在name这个key,返回1表示存在,0表示不存在
(integer) 1



String数据类型的使用

1.数值的加减,加减步长
##############################################
127.0.0.1:6379> set views 0 #初始浏览量为0
OK
127.0.0.1:6379> incr views #浏览量加1
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> decr views #浏览量减1
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> incrby views 10 #设置增加,并且增加步长为10
(integer) 11
127.0.0.1:6379> get views
"11"
127.0.0.1:6379> decrby views 5 #设置减少,并且减少步长为5
(integer) 6
127.0.0.1:6379> get views
"6"

###########################################

2.APPEND追加字符串
##########################################
127.0.0.1:6379> get name
"yuan"
127.0.0.1:6379> APPEND name boss
(integer) 8
127.0.0.1:6379> get name
"yuanboss"
127.0.0.1:6379> APPEND name "hello" #如果追加的内容带双引号或者单引号,双引号单引号不会被追加
(integer) 13
127.0.0.1:6379> get name
"yuanbosshello"
127.0.0.1:6379> APPEND weight 45 #如果追加的key不存在,APPEND命令相当于set命令,先创建这个key
(integer) 2
127.0.0.1:6379> get weight
"45"
127.0.0.1:6379> APPEND weight .6
(integer) 4
127.0.0.1:6379> get weight
"45.6"
##########################################

3.字符串范围 range
##########################################
#获取字符串范围
127.0.0.1:6379> set name "hello,yuanboss" #设置key value
OK
127.0.0.1:6379> getrange name 0 3 #获取小标为0到3的字符串
"hell"
127.0.0.1:6379> getrange name 0 -1 #获取整个字符串
"hello,yuanboss"

4.替换字符串
#替换字符串
127.0.0.1:6379> set key1 abcd
OK
127.0.0.1:6379> get key1
"abcd"
127.0.0.1:6379> setrange key1 1 xx #替换指定位置开始的字符串
(integer) 4
127.0.0.1:6379> get key1
"axxd"
##########################################

5.同时操作多个值
##########################################
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 #同时设置多个key,要保证key value一一对应,空格分隔
OK
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "k2"
127.0.0.1:6379> mget k1 k2 k3 #同时获取多个value,空格分隔
1) "v1"
2) "v2"
3) "v3"
##########################################
6.先获取值再设置值
##########################################
127.0.0.1:6379> getset name yuan #先获取name的值,如果不存在则返回结果为空,再设置name为yuan
(nil)
127.0.0.1:6379> get name
"yuan"
127.0.0.1:6379> getset name boss #先获取name的值结果为yuan再设置name的值为boss
"yuan"
127.0.0.1:6379> get name
"boss"
##########################################

7.设置 过期时间,不存在的时候设置
##########################################
#setex (set with expire) #设置过期时间
#setnx(set if not exist) #不存在设置(在分布式锁中常用)

127.0.0.1:6379> setex dog 30 wangwang #设置dog的过期时间30,值为wangwang
OK
127.0.0.1:6379> ttl dog #查看dog的过期时间
(integer) 26
127.0.0.1:6379> setnx cat miaomiao #cat不存在,成功设置value为miaomiao
(integer) 1
127.0.0.1:6379> keys *
1) "cat"
2) "name"
3) "k1"
4) "k2"
5) "k3"
127.0.0.1:6379> setnx k1 v66 #k1存在,无法设置k1的值为v66
(integer) 0
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> msetnx k1 v66 dog wangwang #批量设置,k1存在,dog不存在,按道理来讲k1设置失败,dog设置成功,
                                           #但是都失败了,说明msetnx是原子性的操作,要么一起成功,要么一起失败
(integer) 0
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> get dog
(nil)

##########################################

8.设置对象
set user:1 {name:yuan,age:21} #设置一个user:1对象,值为json字符串来保存对象
##########################################
这里的key格式:user:{id}:{filed}
127.0.0.1:6379> mset user:1:name yuan user:1:age 21
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "yuan"
2) "21"
##########################################

进阶数据类型的使用可以查看redis中文官网:

http://www.redis.cn/commands/pfmerge.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_boss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值