数据库
首页 > 数据库> > redis初体验

redis初体验

作者:互联网

redis基础知识

1、启动服务端:redis-server

2、重新开启新的终端,链接客户端redis-cli

3、客户端输入:info

**4、测试 **
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
测试结果

5、默认16个数据库
CONFIG GET *
查看配置中:存在默认的16个数据库

6、切换数据库
127.0.0.1:6379> select 3 OK 127.0.0.1:6379[3]>

7、查看数据库大小
127.0.0.1:6379[3]> DBSIZE (integer) 0

8、设置名字,在查看大小
127.0.0.1:6379[3]> set name lzx OK 127.0.0.1:6379[3]> DBSIZE (integer) 1

9、获取数据
127.0.0.1:6379[3]> get name "lzx"

10、查看所有的key
127.0.0.1:6379[3]> keys *1) "name"

11、清空当前数据库
127.0.0.1:6379[3]> flushdb OK

12、清空所有数据库
127.0.0.1:6379[3]> FLUSHALL OK

redis是单线程的

redis基于内存操作,redis性能取决于:内存性能和网络带宽
核心:redis把所有数据放在内存中,单线程也不存在上下文切换,因此,内存情况下,单线程的redis效率是很高的

13、成功返回 ok 存在为1 不存在为0 或(nil)

14、去除单个key
127.0.0.1:6379> move name 1 (integer) 1

15、设置name10s过期
127.0.0.1:6379> EXPIRE name 10 (integer) 1

类型string

使用场景:计数器、统计多单位的数量、对象缓存存储

设置
127.0.0.1:6379> set key1 v1
OK
获取值
127.0.0.1:6379> get key1
"v1"
append追加,有则追加,无责创建
127.0.0.1:6379> append key1 'v2'
(integer) 4
127.0.0.1:6379>
获取长度
127.0.0.1:6379> strlen key1
(integer) 4

设置views 的key
增长1
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views
(integer) 1
减少1
127.0.0.1:6379> decr views
(integer) 2
127.0.0.1:6379> decr views
(integer) 1
**增长n **
127.0.0.1:6379> incrby views 10
(integer) 11
减少n
127.0.0.1:6379> decrby views 10
(integer) 1
截取0到3位值
127.0.0.1:6379> set key1 'hello word'
OK
127.0.0.1:6379> get key1
"hello word"
127.0.0.1:6379> getrange key1 0 3
"hell"
替换指定位置的字符串
127.0.0.1:6379> setrange key2 1 xx
(integer) 7
127.0.0.1:6379> get key2
"axxdefg"
判断是否存在

setex (set with expire) # 设置30s过期时间
127.0.0.1:6379> setex key3 30 'hello' OK 127.0.0.1:6379> ttl key3 (integer) 25
setnc (set if not exist) # 不存在设置 (分布式锁中会用)
127.0.0.1:6379> setnx mykey 'mongodb' # 如果mykey存在,则创建失败 (integer) 0 127.0.0.1:6379> get mykey "redis"

**批量设置、获取值 k1=v1 k2=v2 k3=v3 **

mset
mget

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "k2"
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379>

原子性操作:一起成功,一起失败

设置一个user:1{name:lzx,age:3} 即将user的1的值,保存一个对象

127.0.0.1:6379> MSET user:1:name lzx user:1:age 2
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "lzx"
2) "2"

混合命令

127.0.0.1:6379> getset db redis # 如果不存在值,则返回nil
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mongodb # 如果存在值,获取原来的值,并设置新的值
"redis"
127.0.0.1:6379> get db
"mongodb"
127.0.0.1:6379>

标签:初体验,OK,0.1,redis,6379,127.0,integer
来源: https://www.cnblogs.com/zhengzhijian/p/16198361.html