一、环境准备
首先需要设置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