Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
5fc51f1a
Commit
5fc51f1a
authored
Nov 16, 2013
by
Alexander Makarov
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1094 from pmoust/cache-mset
[WIP] Caching: mset() method to store multiple items.
parents
ad6411ca
6e538ac6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
37 additions
and
1 deletion
+37
-1
Cache.php
framework/yii/caching/Cache.php
+16
-1
CacheTestCase.php
tests/unit/framework/caching/CacheTestCase.php
+21
-0
No files found.
framework/yii/caching/Cache.php
View file @
5fc51f1a
...
@@ -93,7 +93,7 @@ abstract class Cache extends Component implements \ArrayAccess
...
@@ -93,7 +93,7 @@ abstract class Cache extends Component implements \ArrayAccess
* If the given key is a string containing alphanumeric characters only and no more than 32 characters,
* If the given key is a string containing alphanumeric characters only and no more than 32 characters,
* then the key will be returned back prefixed with [[keyPrefix]]. Otherwise, a normalized key
* then the key will be returned back prefixed with [[keyPrefix]]. Otherwise, a normalized key
* is generated by serializing the given key, applying MD5 hashing, and prefixing with [[keyPrefix]].
* is generated by serializing the given key, applying MD5 hashing, and prefixing with [[keyPrefix]].
*
*
* @param mixed $key the key to be normalized
* @param mixed $key the key to be normalized
* @return string the generated cache key
* @return string the generated cache key
*/
*/
...
@@ -216,6 +216,21 @@ abstract class Cache extends Component implements \ArrayAccess
...
@@ -216,6 +216,21 @@ abstract class Cache extends Component implements \ArrayAccess
}
}
/**
/**
* Stores multiple items in cache. Each item contains a value identified by a key.
* If the cache already contains such a key, the existing value and
* expiration time will be replaced with the new ones, respectively.
*
* @param array $items the items to be cached, as key-value pairs. Each key can be a simple string or
* a complex data structure consisting of factors representing the key.
* @param integer $expire the number of seconds in which the cached value will expire. 0 means never expire.
* @return boolean whether the items are successfully stored into cache
*/
public
function
mset
(
$items
,
$expire
=
0
)
{
return
false
;
}
/**
* Stores a value identified by a key into cache if the cache does not contain this key.
* Stores a value identified by a key into cache if the cache does not contain this key.
* Nothing will be done if the cache already contains the key.
* Nothing will be done if the cache already contains the key.
* @param mixed $key a key identifying the value to be cached. This can be a simple string or
* @param mixed $key a key identifying the value to be cached. This can be a simple string or
...
...
tests/unit/framework/caching/CacheTestCase.php
View file @
5fc51f1a
...
@@ -91,6 +91,27 @@ abstract class CacheTestCase extends TestCase
...
@@ -91,6 +91,27 @@ abstract class CacheTestCase extends TestCase
$this
->
assertEquals
(
'array_test'
,
$array
[
'array_test'
]);
$this
->
assertEquals
(
'array_test'
,
$array
[
'array_test'
]);
}
}
public
function
testMset
()
{
$this
->
markTestIncomplete
(
'Work in progress'
);
$cache
=
$this
->
getCacheInstance
();
$cache
->
flush
();
$this
->
assertTrue
(
$cache
->
mset
([
'string_test'
=>
'string_test'
,
'number_test'
=>
42
,
'array_test'
=>
[
'array_test'
=>
'array_test'
],
]));
$this
->
assertEquals
(
'string_test'
,
$cache
->
get
(
'string_test'
));
$this
->
assertEquals
(
42
,
$cache
->
get
(
'number_test'
));
$array
=
$cache
->
get
(
'array_test'
);
$this
->
assertArrayHasKey
(
'array_test'
,
$array
);
$this
->
assertEquals
(
'array_test'
,
$array
[
'array_test'
]);
}
public
function
testExists
()
public
function
testExists
()
{
{
$cache
=
$this
->
prepare
();
$cache
=
$this
->
prepare
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment