Adds testable examples to be automatically pulled in redis.io docs (#2601)
* Adding examples
* Update readme
* Update Readme
* Remove unneeded lines. Added an examples.json file
* Update readme for examples
* More fixes
* Add example tags
* Update examples.json
* Rename
* Add another hide block
* Temporary test
* Add example id for lpush and lrange
* Update readme
* Update output text
* Improve examples
* Move examples test dir to doctests
* Add redis v7's ExpireAtNX, ExpireAtXX, ExpireAtGT, ExpireAtLT, PExpireNX, PExpireXX, PExpireGT, PExpireLT, PExpireAtNX, PExpireAtXX, PExpireAtGT, PExpireAtLT
feat: Add redis v7's NX, XX, GT, LT expireat, pexpire, pexpireat variants
* add tests for new commands
add tests to coverage for the new commands
* Adds github workflow to add docexamples tests. Flushes db before every test.
* Fixes broken workflow file
* Adds Igor’s suggestion of keeping the instructions for docexamples in one place
* Removes unneeded “Missing” section, because it was solved as a workflow
* Revert "add tests for new commands"
This reverts commit af12cb6bd6eba2b68bf90545724f1495fd4797e8.
* Fixes review comments
* Specifies versions as strings instead of floats
---------
Co-authored-by: carner <icarners@gmail.com>
2023-05-31 16:22:55 +03:00
|
|
|
// EXAMPLE: lpush_and_lrange
|
|
|
|
// HIDE_START
|
|
|
|
package example_commands_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"fmt"
|
2023-09-20 14:03:44 +03:00
|
|
|
|
Adds testable examples to be automatically pulled in redis.io docs (#2601)
* Adding examples
* Update readme
* Update Readme
* Remove unneeded lines. Added an examples.json file
* Update readme for examples
* More fixes
* Add example tags
* Update examples.json
* Rename
* Add another hide block
* Temporary test
* Add example id for lpush and lrange
* Update readme
* Update output text
* Improve examples
* Move examples test dir to doctests
* Add redis v7's ExpireAtNX, ExpireAtXX, ExpireAtGT, ExpireAtLT, PExpireNX, PExpireXX, PExpireGT, PExpireLT, PExpireAtNX, PExpireAtXX, PExpireAtGT, PExpireAtLT
feat: Add redis v7's NX, XX, GT, LT expireat, pexpire, pexpireat variants
* add tests for new commands
add tests to coverage for the new commands
* Adds github workflow to add docexamples tests. Flushes db before every test.
* Fixes broken workflow file
* Adds Igor’s suggestion of keeping the instructions for docexamples in one place
* Removes unneeded “Missing” section, because it was solved as a workflow
* Revert "add tests for new commands"
This reverts commit af12cb6bd6eba2b68bf90545724f1495fd4797e8.
* Fixes review comments
* Specifies versions as strings instead of floats
---------
Co-authored-by: carner <icarners@gmail.com>
2023-05-31 16:22:55 +03:00
|
|
|
"github.com/redis/go-redis/v9"
|
|
|
|
)
|
|
|
|
|
2023-09-20 14:03:44 +03:00
|
|
|
func ExampleClient_LPush_and_lrange() {
|
Adds testable examples to be automatically pulled in redis.io docs (#2601)
* Adding examples
* Update readme
* Update Readme
* Remove unneeded lines. Added an examples.json file
* Update readme for examples
* More fixes
* Add example tags
* Update examples.json
* Rename
* Add another hide block
* Temporary test
* Add example id for lpush and lrange
* Update readme
* Update output text
* Improve examples
* Move examples test dir to doctests
* Add redis v7's ExpireAtNX, ExpireAtXX, ExpireAtGT, ExpireAtLT, PExpireNX, PExpireXX, PExpireGT, PExpireLT, PExpireAtNX, PExpireAtXX, PExpireAtGT, PExpireAtLT
feat: Add redis v7's NX, XX, GT, LT expireat, pexpire, pexpireat variants
* add tests for new commands
add tests to coverage for the new commands
* Adds github workflow to add docexamples tests. Flushes db before every test.
* Fixes broken workflow file
* Adds Igor’s suggestion of keeping the instructions for docexamples in one place
* Removes unneeded “Missing” section, because it was solved as a workflow
* Revert "add tests for new commands"
This reverts commit af12cb6bd6eba2b68bf90545724f1495fd4797e8.
* Fixes review comments
* Specifies versions as strings instead of floats
---------
Co-authored-by: carner <icarners@gmail.com>
2023-05-31 16:22:55 +03:00
|
|
|
ctx := context.Background()
|
|
|
|
|
|
|
|
rdb := redis.NewClient(&redis.Options{
|
|
|
|
Addr: "localhost:6379",
|
|
|
|
Password: "", // no password docs
|
|
|
|
DB: 0, // use default DB
|
|
|
|
})
|
|
|
|
|
|
|
|
// HIDE_END
|
|
|
|
|
|
|
|
// REMOVE_START
|
|
|
|
errFlush := rdb.FlushDB(ctx).Err() // Clear the database before each test
|
|
|
|
if errFlush != nil {
|
|
|
|
panic(errFlush)
|
|
|
|
}
|
|
|
|
// REMOVE_END
|
|
|
|
|
|
|
|
listSize, err := rdb.LPush(ctx, "my_bikes", "bike:1", "bike:2").Result()
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
fmt.Println(listSize)
|
|
|
|
|
|
|
|
value, err := rdb.LRange(ctx, "my_bikes", 0, -1).Result()
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
fmt.Println(value)
|
|
|
|
// HIDE_START
|
|
|
|
|
|
|
|
// Output: 2
|
|
|
|
// [bike:2 bike:1]
|
|
|
|
}
|
|
|
|
|
|
|
|
// HIDE_END
|