Redis基础

1、安装:

tar -zxvf redis-5.0.7 -C /opt
cd /opt/redis-5.0.7
make
make PREFIX=/usr/local/redis install
cd /opt/redis-5.0.7/utils
执行:./install_server.sh 

[root@www utils]# ./install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [] /usr/local/redis/bin/redis-server

cd /usr/local/redis/bin/
[root@www bin]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@www bin]# netstat -natp | grep redis
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      7072/redis-server 1 
安装完成,启动成功!
重启服务和查看状态:
/etc/init.d/redis_6379 restart
/etc/init.d/redis_6379 status
进入redis的命令行:
[root@www ~]# redis-cli -h 192.168.233.143 -p 6379
输入键和值:
192.168.233.143:6379> set name2 test1
OK
192.168.233.143:6379> get name2
"test1"

查看数据库中的所有键:

192.168.233.143:6379> KEYS *
1) "name"
2) "key:__rand_int__"
3) "counter:__rand_int__"
4) "mylist"
5) "name1"
6) "myset:__rand_int__"
7) "name2"

查看键是否存在:

192.168.233.143:6379> exists name
(integer) 1

192.168.233.143:6379> exists name4
(integer) 0

1,为存在,0为不存在;
删除键和查看键的类型:
删除:
192.168.233.143:6379> del name
(integer) 1
查看键的类型:
192.168.233.143:6379> type name1
string

Redis的数据类型:

一、string类型:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等

192.168.233.143:6379> APPEND test1 hello  
(integer) 5
192.168.233.143:6379> APPEND test1 "hello"
(integer) 10
192.168.233.143:6379> get test1
"hellohello"

append,该键并不存在,因此append命令返回当前Value的长度并创建该键和值;存在,返回追加后的长度;通过get获取键值。

192.168.233.143:6379> strlen test2
(integer) 6
获取指定键值的长度;
192.168.233.143:6379> APPEND test3 20
(integer) 2
192.168.233.143:6379> get test3
"20"
192.168.233.143:6379> incr test3
(integer) 21
incr把键的值递增1
192.168.233.143:6379> DECR test3
(integer) 20
decr把键的值递减1
192.168.233.143:6379> decr mykey
(integer) -1
192.168.233.143:6379> incr mykey
(integer) 0
对不存在的键进行递增和递减;
192.168.233.143:6379> incr test4
(error) ERR value is not an integer or out of range
不能对非INT类型的键值进行递增和递减的操作
192.168.233.143:6379> set test5 20
OK
192.168.233.143:6379> DECRBY test5 10
(integer) 10
192.168.233.143:6379> get test5
"10"
192.168.233.143:6379> INCRBY test5 16
(integer) 26
192.168.233.143:6379> get test5
"26"
增加和减少指定的整数值;
192.168.233.143:6379> SETEX test6 6 9
OK
设置键test6的值为9,六秒后过期(删除);
192.168.233.143:6379> ttl test6
(integer) -2
192.168.233.143:6379> get test6
(nil)
ttl查询过期的时间,-2位以过期,-1为永不过期;
查询过期的键,显示为nil
192.168.233.143:6379> SETNX test6 9
(integer) 1
使用setnx命令对不存在的键进行操作,表示执行成功;

192.168.233.143:6379> SETNX test3 20
(integer) 0
192.168.233.143:6379> get test3
"20"
192.168.233.143:6379> SETNX test3 hello
(integer) 0
对存在的键进行操作,操作失败
192.168.233.143:6379> get test3
"20"
test3的值并没有被改变
192.168.233.143:6379> get test6
"9"
test6已被删除,用setnx命令恢复了test6的键和值;
192.168.233.143:6379> mset dingning test1 dingning2 test2 dingning3 test3
OK
192.168.233.143:6379> MGET dingning dingning2 dingning3
1) "test1"
2) "test2"
3) "test3"
批量创建键和值;
192.168.233.143:6379> msetnx key3 "zhang" key4 "san" 
(integer) 1
192.168.233.143:6379> mget key3 key4
1) "zhang"
2) "san"
key3和key4不存在,setnx和msetnx都是对不存在的键进行操作;

二、list数据类型:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

192.168.233.143:6379>  lpush dntest a b c d
创建列表
192.168.233.143:6379>  lrange dntest 0 2
1) "d"
2) "c"
3) "b"
取从位置0开始到位置2结束的3个元素,从右往左取,第一位是0
192.168.233.143:6379>  lrange dn5 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "4"
6) "3"
7) "2"
8) "1"
取全部元素;
192.168.233.143:6379>  lpushx mykey2 e 
(integer) 0
不存在的键值返回0
192.168.233.143:6379> lrange mykey2 0 -1
(empty list or set)
不存在的键直为空
192.168.233.143:6379> LPUSHx dntest e
(integer) 5
192.168.233.143:6379> lrange dntest 0 -1
1) "e"
2) "d"
3) "c"
4) "b"
5) "a"
192.168.233.143:6379> lrange dntest 0 0
1) "e"
dntest存在,插入命令执行成功,显示插入后的列表长度;
lrange dntest 0 0展示第一个元素的命令;
192.168.233.143:6379> lpop dntest 
"e"
192.168.233.143:6379> LLEN dntest
(integer) 4
lpop,删除第一个元素,删除后llen展示新的列表长度为4;
192.168.233.143:6379> lpushx dntest a 3 e a
插入上述数据;

192.168.233.143:6379> lrem dntest 1 a
(integer) 1
192.168.233.143:6379> lrange dntest 0 -1
1) "e"
2) "3"
3) "a"
4) "d"
5) "c"
6) "b"
7) "a"
删除列表的中一个a
192.168.233.143:6379> lrem dntest 2 a
(integer) 2
192.168.233.143:6379> lrange dntest 0 -1
1) "e"
2) "3"
3) "d"
4) "c"
5) "b"
删除列表的中两个a;
192.168.233.143:6379> LINDEX dntest 1
"3"
查询索引值为1的值,第二个数据的值
192.168.233.143:6379> lset dntest 1 4
OK
设置索引值为1的值改为4;
192.168.233.143:6379> lrange dntest 0 -1
1) "e"
2) "4"
3) "d"
4) "c"
5) "b"
修改成功;
192.168.233.143:6379> ltrim dntest 0 3
OK
保留索引值从0-3的元素,后面的删除
192.168.233.143:6379> lrange dntest 0 -1
1) "e"
2) "4"
3) "d"
4) "c"
展示结果
192.168.233.143:6379> linsert dntest before e dn
(integer) 5
192.168.233.143:6379> lrange dntest 0 -1
1) "dn"
2) "e"
3) "4"
4) "d"
5) "c"
在元素e的前面插入一个新元素dn;
192.168.233.143:6379> linsert dntest after c dn1
(integer) 6
192.168.233.143:6379> lrange dntest 0 -1
1) "dn"
2) "e"
3) "4"
4) "d"
5) "c"
6) "dn1"
在元素c的后面插入一个新元素dn1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值