用宝塔面板看我们的redis服务是关闭的:
首先打开redis服务:redis-server /home/dongmu/redis.conf
前面的是命令,后面的是文件的路径。
连接redis服务:
[root@dongmu ~]# redis-cli -p 6379
127.0.0.1:6379>
由于这里是本地连接所以省略了-h 地址
的参数
redis-cli -h host -p port -a password
首先要明白,redis是一个key value形式的数据库,以键值对的形式存放数据。
可以使用ping这个命令检查是否安装成功
127.0.0.1:6379> ping
PONG
返回pong安装成功。
检查存在的所有的key
127.0.0.1:6379> keys *
1) "myset"
2) "list"
3) "list0"
4) "salary"
5) "myzset"
************************************************************************
查看匹配指定模式的key
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key3"
4) "myzset"
127.0.0.1:6379> keys key*
1) "key2"
2) "key1"
3) "key3"
127.0.0.1:6379> keys k*1
1) "key1"
127.0.0.1:6379>
************************************************************************
检查某一个key是否存在
127.0.0.1:6379> exists myset
(integer) 1
127.0.0.1:6379> exists myset2
(integer) 0
************************************************************************
删除一个key
127.0.0.1:6379> del list
(integer) 1
127.0.0.1:6379> del list0
(integer) 1
127.0.0.1:6379> keys *
1) "myset"
2) "salary"
3) "myzset"
************************************************************************
设置某一个key在指定时间后到期(以秒为单位)
127.0.0.1:6379> expire myset 10
(integer) 1
127.0.0.1:6379> keys *
1) "myset"
2) "salary"
3) "myzset"
127.0.0.1:6379> keys *
1) "myset"
2) "salary"
3) "myzset"
127.0.0.1:6379> keys *
1) "salary"
2) "myzset"
************************************************************************
设置某一个key在指定时间后到期(以毫秒为单位)
127.0.0.1:6379> keys *
1) "myset"
2) "myzset"
127.0.0.1:6379> pexpire myset 5000
(integer) 1
127.0.0.1:6379> keys *
1) "myset"
2) "myzset"
127.0.0.1:6379> keys *
1) "myzset"
127.0.0.1:6379>
************************************************************************
查看redis的版本信息,这个命令是在没连接redis数据库之前查看的
[root@dongmu ~]# redis-server --version
Redis server v=6.2.6 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=35def7a7bca0ba15
************************************************************************
将key移动到其他的数据库
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key3"
4) "myzset"
127.0.0.1:6379> move key1 1
(integer) 1
127.0.0.1:6379> keys *
1) "key2"
2) "key3"
3) "myzset"
************************************************************************
ttl:用于查看key过期的剩余时间
persist:移除 key 的过期时间,key 将持久保持
PTTL key:以毫秒为单位返回 key 的剩余的过期时间。
127.0.0.1:6379> EXPIRE key2 200
(integer) 1
127.0.0.1:6379> ttl key2
(integer) 190
127.0.0.1:6379> ttl key2
(integer) 187
127.0.0.1:6379> PERSIST key2
(integer) 1
127.0.0.1:6379> ttl key2
(integer) -1
************************************************************************
RANDOMKEY:从数据库中随机返回一个key
127.0.0.1:6379> RANDOMKEY
"key3"
127.0.0.1:6379> RANDOMKEY
"myzset"
127.0.0.1:6379> RANDOMKEY
"key3"
127.0.0.1:6379> RANDOMKEY
"key2"
************************************************************************
rename:给key取一个新的名字,如果key的新的名字和已经存在的其他的key的名字相同的话就直接替换掉原来的key
127.0.0.1:6379> keys *
1) "key2"
2) "key3"
3) "myzset"
127.0.0.1:6379> rename myzset key1
OK
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key3"
如果key的名字相同的话就直接替换掉原来的key
127.0.0.1:6379> get key2
"1"
127.0.0.1:6379> get key3
"3"
127.0.0.1:6379> rename key2 key3
OK
127.0.0.1:6379> keys *
1) "key1"
2) "key3"
127.0.0.1:6379> get key3
"1"
127.0.0.1:6379>
************************************************************************
RENAMENX key newkey:仅当 newkey 不存在时,将 key 改名为 newkey
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key4"
4) "key3"
127.0.0.1:6379> renamenx key1 key2
(integer) 0
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key4"
4) "key3"
************************************************************************
TYPE key:返回 key 所储存的值的类型
127.0.0.1:6379> type key1
zset
127.0.0.1:6379> type key2
string
127.0.0.1:6379> type key3
string
127.0.0.1:6379> type key4
string
127.0.0.1:6379> type key5
none
***************************关于String的命令练习**********************
SET key value:设置指定 key 的值
127.0.0.1:6379> keys *
1) "key1"
127.0.0.1:6379> set key2 spring
OK
127.0.0.1:6379> set key3 mybatis
OK
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key3"
************************************************************************
GET key:获取指定 key 的值。
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
3) "key3"
127.0.0.1:6379> get key1
"helloflushall"
127.0.0.1:6379> get key2
"spring"
127.0.0.1:6379> get key3
"mybatis"
************************************************************************
GETRANGE key start end:返回 key 中字符串值的子字符
127.0.0.1:6379> getrange key1 0 6
"hellofl"
127.0.0.1:6379> get key1
"helloflushall"
************************************************************************
GETSET key value:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
127.0.0.1:6379> get key1
"helloflushall"
127.0.0.1:6379> getset key1 hello
"helloflushall"
127.0.0.1:6379> get key1
"hello"
************************************************************************
GETBIT key offset:对 key 所储存的字符串值,获取指定偏移量上的位(bit)。这里是你存的string的形成的二进制偏移量上的位。
SETBIT key offset value:对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
************************************************************************
MGET key1 [key2..]:获取所有(一个或多个)给定 key 的值。
127.0.0.1:6379> mget key1 key2 key3
1) "lello"
2) "spring"
3) "mybatis"
127.0.0.1:6379> mget key1 key2 key2
1) "lello"
2) "spring"
3) "spring"
127.0.0.1:6379> mget key1 key3 key2
1) "lello"
2) "mybatis"
3) "spring"
************************************************************************
Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
127.0.0.1:6379> get key1
"lello"
127.0.0.1:6379> setex key1 60 springmvc
OK
127.0.0.1:6379> ttl key1
(integer) 56
127.0.0.1:6379> get key1
"springmvc"
************************************************************************
SETNX key value:只有在 key 不存在时设置 key 的值。
127.0.0.1:6379> setnx key 20
(integer) 1
127.0.0.1:6379> keys *
1) "key"
2) "key2"
3) "key3"
127.0.0.1:6379> setnx key 30
(integer) 0
127.0.0.1:6379> get key
"20"
************************************************************************
STRLEN key:返回 key 所储存的字符串值的长度
127.0.0.1:6379> strlen key2
(integer) 6
127.0.0.1:6379> get key2
"spring"
127.0.0.1:6379>
************************************************************************
mset key value key value:设置多个键值对
127.0.0.1:6379> mset key00 00 key01 01
OK
127.0.0.1:6379> keys *
1) "key01"
2) "key2"
3) "key"
4) "key00"
5) "key3"
************************************************************************
MSETNX key value [key value ...]:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
************************************************************************
incr:计数增加1,不存在的key就创建key
127.0.0.1:6379> set key0 23
OK
127.0.0.1:6379> incr ksy0
(integer) 1
127.0.0.1:6379> incr key0
(integer) 24
127.0.0.1:6379> get ksy0
"1"
127.0.0.1:6379> get key0
"24"
************************************************************************
incrby key:给指定的key增加指定的量
127.0.0.1:6379> incrby key0 12
(integer) 36
************************************************************************
decr key:减少1
decrby key:减少指定的值
127.0.0.1:6379> decr key0
(integer) 35
127.0.0.1:6379> decrby key0 12
(integer) 23
127.0.0.1:6379>
************************************************************************
append key:给指定的key拼接指定的子串
127.0.0.1:6379> get key0
"23"
127.0.0.1:6379> append key0 12
(integer) 4
127.0.0.1:6379> get key0
"2312"
************************************************************************