redis常用命令

 

一、环境准备

首先需要设置redis后台启动 和开启远程访问

在linux的安装目录下找到redis.cof

二、常用命令 

如果存中文有乱码 则需要在打开链接工具命令后加上

redis-cli --raw

set k1 v1 往redis中存储字符串元素。

1.keys * : 查看redis中所有的key.
2.del key key...: 删除指定的key
3.exists key: 判断指定的key是否存在 存在返回大于0  不存在返回0
4.expire key seconds: 为指定的key设置过期时间。单位为秒
5.ttl key: 查看key的过期时间剩余多少。返回-2表示key不存在  返回-1永久不过期 

操作redis的数据库

select n: 选择指定的库。
flushdb: 清空当前所在的库内容
flushall: 清空所有的库内容

value类型为字符串类型, 字符串是最基本的 Redis 数据类型。它们通常用于缓存 。

 set key value: 存储字符串数据
set key value ex seconds: 存储key时为其设置过期时间。
get key: 获取指定key的字符串内容。
getex key EX seconds: 获取key的值并设置过期时间: 登录时。
setnx key value: 如果指定的key存在,则不存储,如果不存在则存储。
incr key: 为指定的key进行递增---点赞 收藏数
decr key: 为指定的key进行递减--取消收藏 取消点赞

mget k1 k2 k3 #查询key为‘k1’,‘k2’,‘k3’的数据

MSETNX k1 v1 k4 v4 #msetnx是一个原子性的操作,在一定程度上保证了事务!要么都成功,要么都失败!相当于if中的条件&&(与)

#截取
127.0.0.1:6379> set key1 "hello world!"
OK
127.0.0.1:6379> get key1
"hello world!"
127.0.0.1:6379> GETRANGE key1 0 4  #截取字符串,相当于java中的subString,下标从0开始,不会改变原有数据
"hello"
127.0.0.1:6379> get key1
"hello world!"
127.0.0.1:6379> GETRANGE key1 0 -1  #0至-1相当于 get key1,效果一致,获取整条数据
"hello world!"
#替换
127.0.0.1:6379> set key2 "hello,,,world!"
OK
127.0.0.1:6379> get key2
"hello,,,world!"
127.0.0.1:6379> SETRANGE key2 5 888  #此语句跟java中replace有点类似,下标也是从0开始,但是有区别:java中是指定替换字符,Redis中是从指定位置开始替换,替换的数据根据你所需替换的长度一致,返回值是替换后的长度
(integer) 14
127.0.0.1:6379> get key2
"hello888world!"
127.0.0.1:6379> SETRANGE key2 5 67  #该处只替换了两位
(integer) 14
127.0.0.1:6379> get key2
"hello678world!"

值是对象 

#这里其实本质上还是字符串,但是我们讲其key巧妙的设计了一下。
##mset student:1:name  student 是类名,1 相当于id,name 相当于属性

127.0.0.1:6379> mset student:1:name laoliu student:1:age 22  #新增一个key为‘student:1:name’,value为‘laoliu ’。。等数据
OK
127.0.0.1:6379> keys *  #查看所有的key
1) "student:1:age"
2) "student:1:name"
127.0.0.1:6379> mget student:1:age student:1:name  #获取数据
1) "22"
2) "laoliu"

##getset操作
127.0.0.1:6379> getset name1 laoliu1  #先get再set,先获取key,如果没有,set值进去,返回的是get的值
(nil)
127.0.0.1:6379> get name1
"laoliu1"
127.0.0.1:6379> getset name1 laoliu2  ##先获取key,如果有,set(替换)最新的值进去,返回的是get的值
"laoliu1"
127.0.0.1:6379> get name1  #替换成功
"laoliu2"

hash类型: redis中的value为hash类型。 hash类型的结构是field-value字段。

 hset key field value [field value field value....]: 存储hash数据
hget key field: 获取指定key对应的field的值。
hkeys key: 返回哈希表 key 中的所有field
hvals key: 返回哈希表 key 中所有field的值
hgetall key: 返回哈希表 key 中,所有的域和值。

redis中value值为list对象类型。

1. lpush key value......:  从左边存储队列类型
2. lpop key: 移除并返回列表 key 的头元素。
3. LRANGE 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定
 

#lpush
127.0.0.1:6379> lpush list v1  #新增一个集合
(integer) 1
127.0.0.1:6379> lpush list v2
(integer) 2
127.0.0.1:6379> lpush list v3
(integer) 3
#lrange
127.0.0.1:6379> LRANGE list 0 -1  #查询list的所有元素值
1) "v3"
2) "v2"
3) "v1"
127.0.0.1:6379> lpush list1 v1 v2 v3 v4 v5  #批量添加集合元素
(integer) 5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值