redis学习笔记一(redis基本命令)

redis官网:www.redis.io(英文)www.redis.cn(中文)

1.redis是单线程的

2.五大数据类型

Redis-key

keys *  ,set 命令

127.0.0.1:6379[1]> keys * #查看所有的key
(empty array)
127.0.0.1:6379[1]> set name heai #set一个名为name的key 值为heai
OK
127.0.0.1:6379[1]> set age 10 #set一个名为age的key 值为heai
OK
127.0.0.1:6379[1]> keys *
1) "age"
2) "name"  #得到所有的key

exists 命令 exists [keyname]
127.0.0.1:6379[1]> exists name #判断key是否存在
(integer) 1 #存在1否则0
127.0.0.1:6379[1]> exists age1 
(integer) 0

127.0.0.1:6379[1]> exists name
(integer) 1
127.0.0.1:6379[1]> exists age1
(integer) 0

expire 命令 #设置过期时间 expire [key] [second],ttl [keyname]查看过期时间命令
127.0.0.1:6379[1]> expire name 10
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) 8
127.0.0.1:6379[1]> ttl name
(integer) 6
127.0.0.1:6379[1]> ttl name
(integer) 6
127.0.0.1:6379[1]> ttl name
(integer) 4
127.0.0.1:6379[1]> ttl name
(integer) 3
127.0.0.1:6379[1]> ttl name
(integer) 0
127.0.0.1:6379[1]> ttl name
(integer) -2

flushall #清空所有的key

127.0.0.1:6379[1]> flushall
OK
127.0.0.1:6379[1]> keys *

String

127.0.0.1:6379> set key1 v1
OK
127.0.0.1:6379> get key1
"v1"
127.0.0.1:6379> append key1 "hello"
(integer) 7
127.0.0.1:6379> get key1
"v1hello"

strlen [keyname] 获取字符串长度

127.0.0.1:6379> strlen key1
(integer) 7

incr [keyname] #字段值自增1,decr [keyname] #自减1,incrby [keyname] [len] 自增[len]长度,decrby [keyname] [len]#自减长度

127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> decr views
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> incrby views 11
(integer) 12
127.0.0.1:6379> get views
"12"
127.0.0.1:6379> decrby views 10
(integer) 2
127.0.0.1:6379> get views
"2"

getrange [keyname] [start] [end] #得到范围长度类似substring(java)

127.0.0.1:6379> getrange key1 0 -1"hello world"
127.0.0.1:6379> getrange key1 0 3
"hell"
127.0.0.1:6379> getrange key1 0 -1

setrange [keyname] [offset] [str] (替换指定位置开始的字符)
"hello 127.0.0.1:6379> setrange key1 1 xx
(integer) 11
127.0.0.1:6379> get key1
"hxxlo world"world"

setex [keyname] [second] [str] #设置值的同时设置过期时间

127.0.0.1:6379> setex key3 30 "hello"
OK
127.0.0.1:6379> ttl key3
(integer) 25
127.0.0.1:6379> ttl key3
(integer) 24

setnx [keyname] [value] #不存在 在设置(在分布式锁中常常使用)

127.0.0.1:6379> setnx sql mysql
(integer) 1
127.0.0.1:6379> get sql
"mysql"
127.0.0.1:6379> setnx sql orical
(integer) 0
127.0.0.1:6379> get sql
"mysql"

mset [k] [v] [k] [v]...#批量设置键值

127.0.0.1:6379> mset key1 v1 key2 v2 key3 v3
OK
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
3) "key3"

msetnx [k] [v] [k] [v] #原子性操作要么成功,要么不成功

127.0.0.1:6379> msetnx key1 v1 key4 v4
(integer) 0
127.0.0.1:6379>

set [key:str] {json} #存json格式数据

127.0.0.1:6379> set user:1 {name:zhangsan,age:3}
OK
127.0.0.1:6379> get user:1
"{name:zhangsan,age:3}"

mset同理

127.0.0.1:6379> mset user:1:name heai user:1:age 10
OK
127.0.0.1:6379> get user:1
(nil)
127.0.0.1:6379> mget user:1:name user:1:age
1) "heai"
2) "10"

getset [keyname] [value] #如果不存在值泽返回nil

127.0.0.1:6379> getset key1 name
(nil)
127.0.0.1:6379> set key1 name
OK
127.0.0.1:6379> getset key1 heai
"name"
127.0.0.1:6379> get key1
"heai"

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值